TMS320F206與CPU卡通信協(xié)議的優(yōu)化
數(shù)據(jù)發(fā)送子程序?yàn)椋?br />
2.2 數(shù)據(jù)接收
接收數(shù)據(jù)一般采用軟件輪詢的方式實(shí)現(xiàn)。數(shù)據(jù)接收子程序?yàn)椋?br />
2.3 定時(shí)器設(shè)置
定時(shí)器中斷頻率由TDDR(定時(shí)器divide-down寄存器,定時(shí)計(jì)數(shù)寄存器TIM的低4位)和定時(shí)周期寄存器PRD共同確定。當(dāng)兩者都為0時(shí),定時(shí)器中斷頻率為(CLKOUT1rate)/2;兩者不全為0時(shí),由如下公式確定:
舉例:為了實(shí)現(xiàn)9 600 bps的有效傳輸速率,實(shí)際傳輸速率(額外增加1位起始位、1位校驗(yàn)位、1位停止位)應(yīng)該為:
9 600 bps÷8×(8+1+1+1)=13 200 bps
故在晶振頻率為20 MHz的條件下,PRD=20×106/13200-1=1514。
此時(shí),將PRD設(shè)置為1514,每?jī)纱味〞r(shí)器中斷的時(shí)間間隔即為1位數(shù)據(jù)的保持時(shí)問(wèn)。一般來(lái)說(shuō),讀取的時(shí)機(jī)靠近位寬的中間位置,讀取的數(shù)據(jù)比較可靠和穩(wěn)定,如圖2所示。
3 軟件改進(jìn)
圖2中,如果讀取的起始位的位置正好處在起始位的開(kāi)始,此時(shí)就會(huì)出現(xiàn)將起始位的末尾誤判為第1位;或者讀取的起始位的位置處在起始位的末尾,將可能丟失數(shù)據(jù)的第1位,都會(huì)導(dǎo)致讀取數(shù)據(jù)出錯(cuò),如圖3所示。
評(píng)論