基于P87C591單片機(jī)的信號采集節(jié)點(diǎn)的設(shè)計
圖2 初始化流程圖。
3.2 報文發(fā)送
數(shù)據(jù)的發(fā)送由CAN控制器根據(jù)CAN協(xié)議規(guī)范自動完成。CPU將要發(fā)送的數(shù)據(jù)傳送到發(fā)送緩沖區(qū)并置位命令寄存器的TR(發(fā)送請求)位,發(fā)送處理可以通過中斷請求或查詢狀態(tài)標(biāo)志進(jìn)行控制。報文發(fā)送流程如圖3所示。
圖3 報文發(fā)送流程圖。
3.3 報文接收
CPU以一定周期讀取CAN控制器的狀態(tài)寄存器,檢查RBS(接收緩沖器狀態(tài))。如果RBS指示0(空),則沒有接收數(shù)據(jù);如果RBS指示1(滿),則R)(nFo中有一個或多個完整的可用信息。報文接收流程如圖4所示。
圖4 報文接收溉程圖
其他子程序的設(shè)計這里不再介紹。
4 結(jié)束語
CAN以其獨(dú)特的設(shè)計思想、良好的性能、極高的可靠性受到了業(yè)界青睞;具有片上CAN控制器的P87C591具有功能強(qiáng)大、設(shè)計方便等特性??蓮V泛應(yīng) 用于工業(yè)領(lǐng)域?;赑87C591的信號采集節(jié)點(diǎn)充分利用了CAN以及P87C591的優(yōu)良特性,很好地實(shí) 現(xiàn)了數(shù)據(jù)采集功能。
評論