《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > TMS320VC5402與PC機進行串行通信的兩種方案
TMS320VC5402與PC機進行串行通信的兩種方案
摘要: 對TI的TMS320系列的DSP來說,設計串口的方法一般有兩種:(1)利用通用I/O口線XF和BIO來構成串口,由軟件設計波特率,在CPU不繁忙的情況下往往采用這種方法;(2)利用UART(通用異步收發器)來進行串行通信,CPU只需通過UART提供的接口來編程,就可以實現串行通信。接下來將具體介紹這兩種方案。
Abstract:
Key words :
  1 引言

  通用數字信號處理器(DSP)以其很強的數據處理能力在高速數字信號處理方面得到了廣泛的應用。TMS320VC5402(以下簡稱C5402)是為實現低功耗、高性能而專門設計的定點DSP芯片,其主要應用領域是無線通信系統。在實際應用的過程中,我們發現C5402的通信接口控制能力很弱。當C5402獨立作為一個系統的處理單元時,與外設進行數據交換是必不可少的,其通信能力弱的特點就會影響應用的效果。

  對TI的TMS320系列的DSP來說,設計串口的方法一般有兩種:(1)利用通用I/O口線XF和BIO來構成串口,由軟件設計波特率,在CPU不繁忙的情況下往往采用這種方法;(2)利用UART(通用異步收發器)來進行串行通信,CPU只需通過UART提供的接口來編程,就可以實現串行通信。接下來將具體介紹這兩種方案。

  2 基于C5402的軟RS232接口

  2.1 硬件電路

  RS232為低速率應用提供通信接口。利用C5402的XF、BIO,INT0和定時器可以實現一個最簡RS232接口,從而達到C5402與PC機進行串行通信的目的。原理如圖1所示。

  2.2 軟件設計

  這種設計支持從110到115200各種波特率。C5402通過XF管腳向RS232接口發送串行數據,通過BIO管腳接收來自RS232接口的串行數據。BIO和INT0相連,可以避免頻繁檢測接收管腳的電平,當接收端出現第一個低電平,即認為是接收字節的開始位,每次判決電平位置在每個比特的中間位置,可最大限度地防止誤判的發生。

  RS232接口的主要邏輯都是用C5402匯編語言編寫的,減少了硬件成本和系統體積,發送是先將8位原始數據加上1位起始位和2位停止位,然后根據波特率設定時鐘間隔,每次時鐘中斷發生是,發送1位數據,直到包含這8位原始數據的11位數據全部發送完成。

  接收時由低電平觸發INT0中斷,表示有新數據到來,進入INT0中斷服務子程序。為防止誤判,中斷子程序首先檢查接收到的第一位是否為開始位,如果不是,說明并未有新數據到來。如果確是開始位,則屏蔽INT0中斷,根據波特率設置定時器,開始數據接收。每次接收時鐘中斷發生,檢測BIO值并將檢測值依次移入接收寄存器。最后去掉開始位和停止位,將8位數據存入接收緩存,完成1個字節的接收。

  3 利用TL16C550實現C5402與PC機的高速串行通信

  3.1 異步通信芯片TL16C550

  3.1.1 TL16C550管腳介紹

  TL16C550C是TI公司的異步通信芯片,它具有以下主要特點:

  ·管腳與TL16C750兼容;

  ·最高可達1M的波特率,且波特率發生器可編程設定;

  ·由軟件設定的FIFO以減少CPU中斷;

  ·有可編程的串行數據發送格式:數據位長度為5、6、7、8;

  ·具有奇、偶校驗或無校驗模式;停止位長度為1、1.5、2;

  ·采用44引腳PLCC封裝。

  TL16C550的引腳如圖2所示。

 

  TL16C550各主要引腳的功能說明見表1。   

 

  3.1.2 TL16C550片內寄存器介紹

  TL16C550內部共有11個寄存器,這些寄存器分別用于實現通信參數的設置、對線路及MODEN的狀態訪問、數據的發送和接收及中斷管理等功能。表2描述了訪問這些寄存器時鎖存器訪問位DLAB和A0、A1、A2的狀態。   

  3.2 C5402與PC機串行通信的硬件電路

  C5402與PC機串行通信的硬件電路如圖3所示。

  圖3中,TL16C550的CS0和CS1都接高電平,CS2接C5402的外部I/O空間,選擇線IS。

  當XIN、XOUT端外接1.8342MHz晶振時,C5402以28400的波特率與PC機通信,所以,波特率因子寄存器的低位設為02H,高位設為00H。

  TLC16C550的數據線D0-D7直接與C5402的D0-D7數據線相連,TL16C550的片內寄存器選擇線接C5402的A0-A2。

  由于RS-232-C電路電平與CMOS電平不同,因此,RS232驅動器與CMOS電平連接時必須經過電平轉換。這里,我們采用MAX232完成這一功能,MAX232具有一個專有的低壓降發送器輸出級,在其以雙電荷棒3.0V~5.5V供電時,可以獲得真正的RS-232性能。該器件只需4個1μF小型外接電容,可在維持RS-232輸出電平的情況下確保運行于120kb/s數據率,因此十分適合高速串行通信場合。

  利用RXRDY和TXRDY引入外部中斷,從而系統工作在中斷方式,RXRDY產生外部0中斷(INT0),而TXRDY將產生外部1中斷(INT1)。

  3.3 軟件設計

  系統軟件設計包括PC機、TMS320VC5402以

 

  及TL16C550的初始化和通信協議等。初始化的主要任務是設置操作所需要的參數。這些參數包括串行通信時數據串的數據位數、停止位數、奇偶校驗等。另外,還需要設置發送和接收的波特率及中斷方式。

  其中需要注意的是由于系統工作在中斷方式,應允許接收就緒中斷和發送緩沖區空中斷,相應地,中斷允許寄存器的值應該設置為03H。

  4 結束語

  利用通用I/O引腳擴展串口時硬件構成簡單,

  但軟件編制較為復雜,而且由于DSP的中斷優先級無法通過軟件設置,在有其他外部中斷的情況下較難適用。相比之下,運用UART來擴展串口增加了硬件,但降低了軟件復雜度,并且免去了對時鐘中斷的依賴,還可引進另外的外部中斷,兩個通用引腳也可留出,更適合在較復雜的獨立系統中使用。在應用時,可根據實際情況進行選擇。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美黑人巨大白妞出浆| 麻豆福利视频导航| 成人年无码av片在线观看| 亚洲国产欧美久久香综合| 精品久久久久久无码中文字幕漫画| 国产成人一区二区三区| 99re热这里只有精品| 成人毛片18女人毛片免费视频未| 亚洲AV永久无码精品漫画| 污污的软件下载| 动漫人物差差差免费动漫在线观看| 麻豆麻豆必出精品入口| 国产精品视_精品国产免费| 一区二区三区四区精品视频| 日本精品视频一区二区三区| 亚洲国产日韩欧美在线| 男人把女人桶爽30分钟动态| 国产v亚洲v欧美v专区| 国产香蕉一区二区精品视频| 国内免费在线视频| 一区二区三区四区精品视频| 无翼乌邪恶工番口番邪恶| 亚洲va欧美va天堂v国产综合| 激情内射人妻1区2区3区| 可以看的黄色国产毛片在线电影| 高潮毛片无遮挡高清免费视频| 国产综合久久久久| a级国产乱理伦片在线播放| 成人性生交大片免费看好| 久久婷婷五夜综合色频| 欧美亚洲一区二区三区| 亚洲第一黄网站| 男男肉动漫未删减版在线观看 | 国产精品99久久久精品无码| aaaaaa级特色特黄的毛片| 张瑶赵敏大学丝袜1-10| 中文字幕精品在线| 日本护士XXXXHD少妇| 久青草影院在线观看国产| 欧美人与性动交另类| 亚洲欧美日韩精品久久|