

6 節(jié)點軟件設(shè)計
節(jié)點軟件流程如圖5所示。程序采用查詢方式,節(jié)點初始化并報告正常工作后將一直處于查詢狀態(tài),直到主控節(jié)點發(fā)送的燈光控制命令到達燈光節(jié)點時,單片機才可判斷控制的是哪一路燈光或哪幾路燈光,并通過開關(guān)的診斷反饋功能檢測相應(yīng)的開關(guān)是否正常。如果正常,則向相應(yīng)的高/低端開關(guān)發(fā)送相應(yīng)的控制命令,然后回到查詢狀態(tài)。如果不正常,則向儀表節(jié)點發(fā)送相應(yīng)端點的不正常信息幀,繼續(xù)檢測相應(yīng)的端點。
節(jié)點初始化主要是單片機初始化,包括端口初始化和CAN控制模塊的初始化。單片機端口初始化主要對用到的I/O口上電復(fù)位。CAN模塊的初始化主要是設(shè)置所用的特殊功能寄存器,主要包括協(xié)議模式、驗收濾波方式、CAN通信速率和中斷寄存器的設(shè)置等。將驗收代碼和驗收屏蔽代碼寫入驗收代碼寄存器和驗收屏蔽寄存器。
CAN總線的軟件設(shè)計主要包括CAN節(jié)點的初始化、數(shù)據(jù)的發(fā)送和接收程序,掌握了這3個模塊的設(shè)計,基本上就完成了CAN通信的軟件設(shè)計。
7 結(jié)束語
雖然本節(jié)點是為控制客車車燈設(shè)計的,但對其他一些節(jié)點也有借鑒作用,尤其是CAN總線的硬件接口部分,可以通用到客車其他CAN網(wǎng)絡(luò)節(jié)點上,甚至可以用在其他非汽車領(lǐng)域的CAN網(wǎng)絡(luò)上,如工業(yè)自動化等領(lǐng)域。





