數(shù)字信號處理器(Digital Signal Processor,DSP)在圖形圖像處理、高精度測量控制、高性能儀器儀表等眾多領(lǐng)域得到越來越廣泛的應(yīng)用,實(shí)際運(yùn)用中,通常須將DSP采集處理后的數(shù)據(jù)傳送到PC機(jī),然后進(jìn)行存儲(chǔ)和處理。
T1公司的TMS320VC33微處理器具有性價(jià)比高,同時(shí),該芯片的I/O電平、字長、運(yùn)行速度、串口功能具有大多數(shù)DSP的共同特點(diǎn)。本文針對TMS320VC33與PC RS-232的通訊,分析三種具體的接口電路和軟件設(shè)計(jì)方法,實(shí)現(xiàn)高速DSP與低速設(shè)備的通訊:①通過TMS320VC33的通用I/O口實(shí)現(xiàn)通信電感器 設(shè)計(jì);②通過TMS320VC33中可設(shè)置為通用I/O的串行引腳實(shí)現(xiàn)通信;③直接利用TMS320VC33的串口功能實(shí)現(xiàn)通信,在硬件和軟件設(shè)計(jì)的基礎(chǔ)上,完成相關(guān)試驗(yàn)和調(diào)試,并達(dá)到預(yù)期的效果。
采用通用I/O口實(shí)現(xiàn)
PC的RS-232接口按照設(shè)定的固定波特率傳送,RS-232串行口進(jìn)行通信采用三線式接法,即RX(數(shù)據(jù)接收)、TX(數(shù)據(jù)發(fā)送)、GND(地)三個(gè)引腳,PC機(jī)按幀格式發(fā)送、接收數(shù)據(jù),一幀通常包括1位起始位(0電平)、5-8位數(shù)據(jù)位、1位(或無)校驗(yàn)位、1位或1位半停止位(1電平),起始位表示數(shù)據(jù)傳送開始,數(shù)據(jù)位為低位在前、高位在后,停止位表示一幀數(shù)據(jù)結(jié)束。
TMS320VC33微處理器的串口幀格式?jīng)]有起始位和停止位,只有數(shù)據(jù)位,且數(shù)據(jù)位為高位在前、低位在后。利用TMS320VC33微處理器的通用I/O引腳實(shí)現(xiàn)串行通信時(shí),須依據(jù)RS232的通信協(xié)議并結(jié)合DSP硬件資源編寫相應(yīng)的DSP程序。
1.硬件設(shè)計(jì)
TMS320VC33微處理器共有10個(gè)引腳可配置為通用I/O口,其中XFO、XFl為專用的通用I/O口,通過軟件設(shè)計(jì)可實(shí)現(xiàn)XFO、XFl專用I/O口與RS232的串行通信,電路結(jié)構(gòu)如圖1所示。
本文選用MAX3232E作為RS232C電平與TTL電平的轉(zhuǎn)換芯片,R1in、T1out為RS232C電平,R1out、T1in為TTL電平,TMS320VC33微處理器的INT2引腳為外部中斷腳,R10ut同時(shí)連接到INT2和XF0,即可利用傳輸?shù)牡谝晃挥|發(fā)TMS320VC33微處理器的外部中斷。
2.軟件設(shè)計(jì)
貼片電感 假設(shè)系統(tǒng)已經(jīng)完成初始化,數(shù)據(jù)接收流程如圖2所示,設(shè)傳輸速率為9600bit/s,一個(gè)起始位(0)、8位數(shù)據(jù)位、一個(gè)終止位(1)。數(shù)據(jù)傳輸時(shí)對起始位定時(shí)半位的時(shí)間,數(shù)據(jù)位第一位以后的定時(shí)周期設(shè)置為大電流電感一個(gè)位的時(shí)間,保證每一位數(shù)據(jù)都塑封電感在中間采樣,與傳統(tǒng)RS232串口傳輸方式不同,有利于降低傳輸?shù)恼`碼率。
數(shù)據(jù)電感生產(chǎn)廠家傳輸時(shí),先判斷Rx是否為OAh,即判斷是不是傳輸起始位,若Rx=OAh,表明數(shù)據(jù)開始傳輸;接著判斷XF0管腳的狀態(tài)是否為O,若XF0=1,則數(shù)據(jù)傳輸錯(cuò)誤,重新接收下一個(gè)數(shù)據(jù);若XF=0,則表示數(shù)據(jù)開始正常傳輸;然后將Rx-1,同步刷新Rx中的內(nèi)容,即Rx=Rx-1;同時(shí),在TIMER0的周期寄存器和計(jì)數(shù)寄存器中存入定時(shí)整個(gè)位的時(shí)間常數(shù),開定時(shí)器0的中斷,定時(shí)時(shí)間一到,程序進(jìn)入TIMER0的中斷服務(wù)子程序,再判斷Rx是不是終止位,若Rx為終止位,則開始繼續(xù)接收新的數(shù)據(jù),打開INT2,將TIMER0周期寄存器和計(jì)數(shù)寄存器中存放半位的時(shí)間參數(shù);若Rx不是終止位,則繼續(xù)接收數(shù)據(jù)位,直到Rx接收到終止位。
數(shù)據(jù)發(fā)送程序與數(shù)據(jù)接收程序原理相同,此處略。
串口引腳作為通用I/O口實(shí)現(xiàn)
1.硬件設(shè)計(jì)
TMS320VC33微處理器的串口引腳也可作為通用I/O口,通過對I/0口的操作即可實(shí)現(xiàn)串行數(shù)據(jù)的接收和發(fā)送,將微處理器的數(shù)據(jù)接收引腳DR作為RS232的數(shù)據(jù)接收端,數(shù)據(jù)發(fā)送引腳DX作為RS232的數(shù)據(jù)發(fā)送端,電路結(jié)構(gòu)如圖3所示,圖中MAX3232E的R2out與TMS320VC33微處理器的lNT1和DR相連。 大功率電感廠家 |大電流電感工廠