ARM 數控系統高速處理串口數據的研究
3.理論上可以屏蔽THRE 中斷,但是同樣也可以處理中斷,處理方法是往FIFO 中填充數據
For(i=0;i16;i++)
{
QUEUE_DATA_TYPE data;
QueueRead(data, Buf)
U0THR = data;
}
4.同樣線中斷也可以屏蔽,當然也可以處理,處理的方法只需要讀U0TSR 寄存器Data=U0TSR;
中斷服務程序中處理了超時中斷,因此設置串口中斷觸發字節可以設置的大些,這樣可以保證數據不會丟失,同時減少系統中斷次數,減小系統負荷,提高處理器的處理速度。
圖 1 中斷服務程序流程圖
ARM 系統中開辟了一個串口數據接收隊列緩存區,因此就要求上位機串口發送軟件能夠配合ARM 處理能力對數據發送進行流量控制。
圖2 上位機軟件和ARM 數據傳送流程圖
程序中NUM 表示文件的總字符數,在開始傳送代碼數據的時候作為開始發送文件的一個信號傳送給ARM,同時作為文件傳送結束判斷依據。SUM 表示代碼已經傳送的字符數。其初始化值為0。
四、結論:
串口設置為:波特率 115200,8位數據位,1為停止位,無奇偶校驗,無流控制。通過串口調試助手,選擇發送文件,發送PC機上CAM 軟件CAXA 制造工程師生成的加工文件(大小182K)。通過串口發送給ARM 數控系統處理,系統能夠很好的保證ARM 數控系統正確處理G 代碼的情況下,高速傳送G 代碼數據。
測試表明:數控系統的大量G 代碼可以很好的完成加工,并且已經應用到了數控系統設計當中,實踐檢驗該方法可以提高數控系統的加工效率。
評論