DSP芯片基于SCl6C750B的RS232接口設計
TMS320C32是32位浮點DSP芯片,在數(shù)字信號處理和自動化領域得到了廣泛應用;而RS232(EIA232)是自動化控制領域中一種基本的串行異步通信規(guī)約。在開發(fā)基于TMS320C32的熱力系統(tǒng)測控裝置時,采用SCl6C750BUART芯片擴展出實現(xiàn)RS232規(guī)約的通信串口。文章介紹此串口收發(fā)中斷程序的設計和基于C語言的串口通信中斷例程的有關問題。
本文引用地址:http://cafeforensic.com/article/150873.htm關鍵詞:TMS320C32 SC16C750B RS232 UART DSP
引 言
美國TI(Texas Instruments)公司的系列DSP芯片采用哈佛結構、流水線操作、專用硬件乘法器、快速DSP指令,使其在數(shù)字信號處理、通信和工業(yè)自動化等領域得到廣泛應用[1]。TMS320C32是32位浮點處理器。它除了上述特點外,還具有增強型存儲器接口、靈活的啟動裝載(boot loader)、可重定位的中斷矢量表、靈活的中斷方式和其他外設[2];其通信功能只包括片上集成的一個串口,但在設計中此串口一般被串行A/D或D/A芯片占用,或者被用于與另一片DSP芯片在“握手模式”(handshakemode)下直接連接[3]。
雖然TMS320C32串口有多種工作方式[3,4],但通過串口相應的寄存器并不能直接配置出符合RS232標準的通信串口。而RS通信串口是自動化控制設備的一種基本通信方式,如PC機或其他各種基于微處理器的控制裝置。RS232標準在1991年被標準化組織EIA(ElectronicIndustries Association)重命名為EIA232標準[5],是一種異步串行通信標準,包括機械連接、信號功能、電壓特性和通信協(xié)議等幾個方面的規(guī)定。
采用1片SC16C750B UART芯片[6]來完成TMS320C32的RS232串口的設計。此UART最高的串行數(shù)據(jù)速率可達3 Mbps,引腳與TLl6C750兼容,并且具有64字節(jié)接收和發(fā)送FIFOs以及自動硬件流量功能。這些特征使串口通信更加高效、可靠。
1 TMS320C32的RS232串口硬件設計
在基于微處理器開發(fā)的自動控制裝置設計中,一般并不需要串行通信的長距離傳輸,故普遍采用“零-Modem”方式(Null-Modem or Zero-Modem)實現(xiàn)一對異步串口連接。圖1為一種“零-Modem”連接方式(具體信號的意義可見RS232標準)。
由于RS232標準的異步通信規(guī)約數(shù)據(jù)幀都帶起始位和停止位,并且SC16C750B UART芯片具有自動硬件流量控制功能,因此可以進一步忽略與Modem相關的控制信號(DTR、DSR、CD、RTS、CTS),簡化連接。
1.1 SCl6C750B UART芯片
SCl6C750B為異步串行通信芯片[6],帶標準Modem接口。它具有以下主要特點:
①標準異步錯誤位和幀格式位(起始位、停止位、奇偶校驗位),并且?guī)袷娇删幊蹋?br /> ②軟件可選擇波特率;
③發(fā)送和接收各64字節(jié)FIFOs;
④發(fā)送、接收、線路狀態(tài)等中斷可獨立控制,并且中斷優(yōu)先級可編程;
⑤獨立的接收時鐘;
⑥在5V工作電壓下,發(fā)送或接收速率可達5Mbps;
⑦自動硬件流量控制;
⑧4種可選擇接收中斷級別;
⑨標準Modem接口;
⑩引腳與STl6C>t50/550、TLl6C450/550、PC16C450/550,軟件與SCl6C750及TL16C750兼容。其他一些特點不再贅述。
SCl6C750B主要引腳的功能如表1所列,更具體的資料可見文獻[6]。
1.2硬件原理
硬件設計的總體思路:
①UART的地址被分配到TMS320CC32的IOSTRB外部存儲器空間,片選信號對應的地址即為UART的基地址。
②RXRDY、TXRDY分別作為接收、發(fā)送中斷信號,分別接C32的中斷外部引腳INT0、INT1,并且C32的中斷觸發(fā)方式設為低電平觸發(fā)。
③UART的Tx、RX引腳均為CMOS電平,而RS232采用的是“負邏輯電平”。本設計采用1片MAX3232[7]完成它們之間的電平轉換和驅動,其數(shù)據(jù)傳輸速率最高達1 Mbps,。
④使接收部分和發(fā)送部分的波特率相同,此時RCLK接BAUDOUT引腳。
⑤外部參考時鐘頻率為1.8432 MHz。
1.3 UART擴展RS232串口原理
依據(jù)上面的整體思路設計出硬件電路,如圖2所示。
評論