基于FPGA的CAN總線控制器設計
掉電、復位及總線上過多的錯誤都會使控制器進入總線脫離模式;系統(tǒng)上電、復位解除或過多錯誤而復位后的下個時鐘會使控制器進入總線啟動模式;在總線啟動模式下,若之前因掉電、復位使控制器進入總線脫離模式,當控制器監(jiān)測到總線上1次連續(xù)11個隱性位(邏輯電平1”)時,控制器進入總線空閑狀態(tài),若因過多錯誤使控制器進入總線脫離模式,則當控制器監(jiān)測到總線上128次連續(xù)11個隱性位時,控制器進入總線空閑模式;當控制器沒有數(shù)據(jù)發(fā)送但監(jiān)測到總線上有顯性位(邏輯電平“0”)時,控制器進入接收模式,而當控制器有數(shù)據(jù)發(fā)送同時監(jiān)測到總線上有顯性位時,控制器進入模式選擇模式;模式選擇其實就是一個總線仲裁,此時標識符將扮演仲裁位的角色,顯性位的優(yōu)先級更高,若總線仲裁失敗則控制器進入接收模式,仲裁成功則進入發(fā)送模式;一幀數(shù)據(jù)成功發(fā)送完成后,控制器會進入間歇模式;若間歇幀發(fā)送成功,則控制器會再次進入總線空閑模式。狀態(tài)機由空閑模式轉(zhuǎn)換為模式選擇模式的仿真圖如圖3所示。本文引用地址:http://butianyuan.cn/article/191153.htm
1.2.5 位定時模塊
位定時模塊控制著控制器報文發(fā)送或接收的節(jié)奏,這個節(jié)奏就是位時間,它由四部分組成:同步段、傳播段、相位緩沖段1和相位緩沖段2,這四個段均由時間份額構(gòu)成,時間份額是根據(jù)預先設置的分頻值對輸入時鐘進行分頻得到的。
位定時模塊還有一個重要的功能是將本節(jié)點與總線上的其它節(jié)點進行時鐘同步。由于每個CAN節(jié)點使用的是獨立的時鐘,所以不同節(jié)點之間會有相位差,這些相位差嚴重時會影響報文發(fā)送和接收的準確性,所以有必要對不同節(jié)點進行時鐘同步。
評論