TMS320VC5402與PC機(jī)進(jìn)行串行通信的兩種方案
【摘 要】 介紹了TMS320VC5402和PC機(jī)進(jìn)行串行通信的兩種方案,分析了兩者的特點(diǎn),并且給出了具體的電路圖。
關(guān)鍵詞:數(shù)字信號(hào)處理,通信接口,TMS320VC5402
1 引 言
通用數(shù)字信號(hào)處理器(DSP)以其很強(qiáng)的數(shù)據(jù)處理能力在高速數(shù)字信號(hào)處理方面得到了廣泛的應(yīng)用。TMS320VC5402(以下簡(jiǎn)稱C5402)是為實(shí)現(xiàn)低功耗、高性能而專門設(shè)計(jì)的定點(diǎn)DSP芯片,其主要應(yīng)用領(lǐng)域是無(wú)線通信系統(tǒng)。在實(shí)際應(yīng)用的過(guò)程中,我們發(fā)現(xiàn)C5402的通信接口控制能力很弱。當(dāng)C5402獨(dú)立作為一個(gè)系統(tǒng)的處理單元時(shí),與外設(shè)進(jìn)行數(shù)據(jù)交換是必不可少的,其通信能力弱的特點(diǎn)就會(huì)影響應(yīng)用的效果。
對(duì)TI的TMS320系列的DSP來(lái)說(shuō),設(shè)計(jì)串口的方法一般有兩種:(1)利用通用I/O口線XF和BIO來(lái)構(gòu)成串口,由軟件設(shè)計(jì)波特率,在CPU不繁忙的情況下往往采用這種方法;(2)利用UART(通用異步收發(fā)器)來(lái)進(jìn)行串行通信,CPU只需通過(guò)UART提供的接口來(lái)編程,就可以實(shí)現(xiàn)串行通信。接下來(lái)將具體介紹這兩種方案。
2 基于C5402的軟RS232接口
2.1 硬件電路
RS232為低速率應(yīng)用提供通信接口。利用C5402的XF、BIO,INT0和定時(shí)器可以實(shí)現(xiàn)一個(gè)最簡(jiǎn)RS232接口,從而達(dá)到C5402與PC機(jī)進(jìn)行串行通信的目的。原理如圖1所示。
2.2 軟件設(shè)計(jì)
這種設(shè)計(jì)支持從110到115200各種波特率。C5402通過(guò)XF管腳向RS232接口發(fā)送串行數(shù)據(jù),通過(guò) BIO管腳接收來(lái)自RS232接口的串行數(shù)據(jù)。BIO和INT0相連,可以避免頻繁檢測(cè)接收管腳的電平,當(dāng)接收端出現(xiàn)第一個(gè)低電平,即認(rèn)為是接收字節(jié)的開(kāi)始位,每次判決電平位置在每個(gè)比特的中間位置,可最大限度地防止誤判的發(fā)生。
RS232接口的主要邏輯都是用C5402匯編語(yǔ)言編寫的,減少了硬件成本和系統(tǒng)體積,發(fā)送是先將8位原始數(shù)據(jù)加上1位起始位和2位停止位,然后根據(jù)波特率設(shè)定時(shí)鐘間隔,每次時(shí)鐘中斷發(fā)生是,發(fā)送1位數(shù)據(jù),直到包含這8位原始數(shù)據(jù)的11位數(shù)據(jù)全部發(fā)送完成。
接收時(shí)由低電平觸發(fā)INT0中斷,表示有新數(shù)據(jù)到來(lái),進(jìn)入INT0中斷服務(wù)子程序。為防止誤判,中斷子程序首先檢查接收到的第一位是否為開(kāi)始位,如果不是,說(shuō)明并未有新數(shù)據(jù)到來(lái)。如果確是開(kāi)始位,則屏蔽INT0中斷,根據(jù)波特率設(shè)置定時(shí)器,開(kāi)始數(shù)據(jù)接收。每次接收時(shí)鐘中斷發(fā)生,檢測(cè)BIO值并將檢測(cè)值依次移入接收寄存器。最后去掉開(kāi)始位和停止位,將8位數(shù)據(jù)存入接收緩存,完成1個(gè)字節(jié)的接收。
3 利用TL16C550實(shí)現(xiàn)C5402與PC機(jī)的高速串行通信
3.1 異步通信芯片TL16C550
3.1.1 TL16C550管腳介紹
TL16C550C是TI公司的異步通信芯片,它具有以下主要特點(diǎn):
·管腳與TL16C750兼容;
·最高可達(dá)1M的波特率,且波特率發(fā)生器可編程設(shè)定;
·由軟件設(shè)定的FIFO以減少CPU中斷;
·有可編程的串行數(shù)據(jù)發(fā)送格式:數(shù)據(jù)位長(zhǎng)度為5、6、7、8;
·具有奇、偶校驗(yàn)或無(wú)校驗(yàn)?zāi)J?;停止位長(zhǎng)度為1、1.5、2;
·采用44引腳PLCC封裝。
TL16C550的引腳如圖2所示。
TL16C550各主要引腳的功能說(shuō)明見(jiàn)表1。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論