基于FPGA的PC/104-CAN通訊板設計
2.2 CAN多幀數(shù)據(jù)通信打包和解包技術
CAN通信數(shù)據(jù)傳輸采用短幀結構,每幀最多發(fā)送8個字節(jié)的有效數(shù)據(jù),總線的有效傳輸速率很低,當在傳輸?shù)臄?shù)據(jù)量超過8個字節(jié)有效數(shù)據(jù)時,給用戶編程帶來了一定的困難。利用如圖5所示的CAN的數(shù)據(jù)包格式,只需將待傳輸?shù)臄?shù)據(jù)進行相應的打包和解包操作即可實現(xiàn)數(shù)據(jù)的單幀和多幀傳輸,有效地簡化了數(shù)據(jù)通信。本文引用地址:http://www.ex-cimer.com/article/191897.htm
采用如圖5所示的CAN數(shù)據(jù)包格式,無論是單幀還是多幀傳輸,只要把數(shù)據(jù)填入相應的發(fā)送緩沖區(qū)即可,在接收方,則將數(shù)據(jù)解包并放入接收緩沖區(qū)即可。與上述數(shù)據(jù)包格式相對應,當CAN總線進行多幀傳輸時,其CAN的多幀數(shù)據(jù)傳輸幀結構如圖6所示。
在圖6中,當發(fā)送的有效數(shù)據(jù)個數(shù)不超過4個時,一幀數(shù)據(jù)即可傳輸;當有效數(shù)據(jù)超過4個時,則需要多幀傳輸。此處的地址變址是指從發(fā)送緩沖區(qū)所取的存放于該幀的第一個有效數(shù)據(jù)的存儲地址相對于緩沖區(qū)首地址的偏移量,如第一幀中地址變址為4,第二幀中的地址變址是10。地址變址的設置,使得對數(shù)據(jù)包的解包和打包實現(xiàn)起來較容易。
3 結 語
該通訊板設計簡單,只需一塊FPGA,一個CAN控制器SJA1000T和收發(fā)器PCA82C250,為增強系統(tǒng)的穩(wěn)定性,在通信通道上均采用光電隔離技術,保護PC機避免因地環(huán)流而損壞,增強系統(tǒng)在惡劣環(huán)境中使用的可靠性。該通訊板采用的CAN數(shù)據(jù)包格式提高了總線的有效傳輸速率,經(jīng)測試達到500 Kb/s,提高了通訊板通訊的實時性。本設計方案已成功應用于工業(yè)控制器中,效果理想。
評論