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