新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于雙DSP的并聯(lián)控制系統(tǒng)中串行通信的研究

基于雙DSP的并聯(lián)控制系統(tǒng)中串行通信的研究

作者: 時(shí)間:2010-01-07 來源:網(wǎng)絡(luò) 收藏

  SPI 部分發(fā)送和接受程序如下:

  void spi_TxProcess()

  {

  while(SpiRegs.SPISTS.bit.BUFFULL_FLAG==1) {}

  /*判斷SPISTS.bit.BUFFULL_FLAG)是否為空*/

  if(SpiRegs.SPISTS.bit.BUFFULL_FLAG==0)

  {

  SpiRegs.SPITXBUF=slave_value;

  /*向SPITXBUF 寫入數(shù)據(jù)以啟動(dòng)數(shù)據(jù)發(fā)送*/

  }

  }

  interrupt void SPIRXINTA_ISR(void)

  /*中斷方式接受*/

  {

  TX_data2=SpiRegs.SPIRXBUF;

  /*讀取SpiRegs.SPIRXBUF 后自動(dòng)清除中斷標(biāo)志位*/

  return;

  }

  4 異步模塊的設(shè)計(jì)

  4.1 SCI 的硬件設(shè)計(jì)

  圖 5 為上位機(jī)和 的硬件連接圖。RS-232C 標(biāo)準(zhǔn)采用負(fù)邏輯:邏輯“1”為-5V~-15V 之間的低電平,通常用-12V 表示;邏輯“0”為+5V~+15V 之間的高電平,通常用+12V 表示。 上述標(biāo)準(zhǔn)稱為EIA 電平。


  RS-232C 是用正負(fù)電壓來表示邏輯狀態(tài),并且是負(fù)邏輯,而TTL 則以高低TTL 器件電平表示邏輯狀態(tài),且為正邏輯,兩者的規(guī)定是不同的。為了能夠?qū)⑴cEIA 器件連接,保證二者之間正常,必須在它們之間進(jìn)行電平和邏輯關(guān)系的變換。本Maxim 公司生產(chǎn)的集 成芯片MAX232 來實(shí)現(xiàn)這一變換[4]。變化后的電平在經(jīng)過6N137 轉(zhuǎn)換為適合TMS320F2812 的電平在+3.3V 以內(nèi)的信號(hào)。

  4.2 SCI 的軟件實(shí)現(xiàn)

  通信前,發(fā)送端和接受端必須使用雙方協(xié)商一致的通信協(xié)議,數(shù)據(jù)被拆分成為(bit)進(jìn)行傳送。傳送的順序一次為起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位。每秒鐘傳送的bit 數(shù)由波特率來決定。本文中的通信協(xié)議設(shè)定為:波特率38400bit/s,8 位數(shù)據(jù)位,無奇偶校驗(yàn),1 位停止位,數(shù)據(jù)傳輸同時(shí)采用ASCⅡ碼和二進(jìn)制兩種形式。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉