基于P87C591的CAN總線(xiàn)超聲測距系統設計方案
介紹一種以Philips公司的P87C591作為超聲波傳感器控制核心及CAN總線(xiàn)控制器,以TJA1040作為CAN總線(xiàn)收發(fā)器的CAN總線(xiàn)智能超聲波測距系統;詳細介紹其硬件電路構成、工作原理及軟件設計思想。該系統硬件結構簡(jiǎn)單,實(shí)用性強。
本文引用地址:http://dyxdggzs.com/article/194958.htm關(guān)鍵詞 超聲波測距 CAN總線(xiàn) P87C591 TJA1040 LM386 CX20106A
引言
移動(dòng)機器人的安全避障問(wèn)題一直是該項研究的基本問(wèn)題,目前解決此問(wèn)題的基本方法是采用多路超聲波傳感器通過(guò)適當的安裝角度達到獲取多路測量信息的目的。對于多路超聲波傳感器的擴展,一般是在機器人系統控制核心之上進(jìn)行。這樣做的缺點(diǎn)在于,超聲波傳感器的擴展占用了大量的系統硬件資源,另外大量的測量信息的處理也浪費了系統軟件資源。針對這一問(wèn)題,筆者采用CAN總線(xiàn)擴展多路超聲波傳感器的作法。這種作法有幾個(gè)優(yōu)點(diǎn): 首先,CAN總線(xiàn)具有良好的傳輸防錯設計,保證了數據通信的可靠性;其次,多路超聲波傳感器的設計可由CAN總線(xiàn)智能節點(diǎn)實(shí)現,大大節省了系統硬件資源和軟件資源;第三,由于CAN總線(xiàn)對于網(wǎng)絡(luò )內的節點(diǎn)數在理論上不受限制,所以隨著(zhù)對移動(dòng)機器人研究的不斷深入,對于整個(gè)機器人系統的總體設計可以靈活地在CAN總線(xiàn)上進(jìn)一步開(kāi)發(fā)。本文介紹的CAN總線(xiàn)智能節點(diǎn)的設計以Philips公司的P87C591作為超聲波傳感器的控制核心。由于P87C591具有片上自帶的CAN控制器并且為CAN的應用提供了許多專(zhuān)用的硬件功能,因此又將它作為了系統的CAN總線(xiàn)控制器,大大節省了主控系統的資源。CAN總線(xiàn)的收發(fā)器采用TJA1040。系統總體結構框圖如圖1所示。
機器人系統控制核心由ARM實(shí)現。其主要功能是處理需要復雜計算的信息,將經(jīng)過(guò)處理的信息再送回CAN總線(xiàn),并對整個(gè)網(wǎng)絡(luò )進(jìn)行管理。超聲波智能節點(diǎn)控制系統的主要功能就是判斷障礙物位置,將對移動(dòng)機器人前進(jìn)方向有阻礙的障礙物信息通過(guò)CAN總線(xiàn)傳回主控系統,由主控系統作出相應處理并進(jìn)行避障動(dòng)作。本文將著(zhù)重介紹超聲波智能節點(diǎn)控制系統。
圖1 系統總體結構框圖
1 超聲波智能節點(diǎn)控制系統的硬件設計
超聲波智能節點(diǎn)控制系統的硬件電路如圖2所示。P87C591是51系列單片機,對于大部分熟悉51單片機的使用者來(lái)說(shuō)它的使用方法十分簡(jiǎn)單。下面分別介紹各個(gè)組成部分。
圖2 超聲波智能節點(diǎn)控制系統
1.1 控制部分
超聲波傳感器的控制部分采用Philips半導體公司生產(chǎn)的P87C591。它是一個(gè)單片8位高性能微控制器,具有片內CAN控制器,是從80C51微控制器家族派生出來(lái)的。它采用了強大的80C51指令集,并成功地包括了Philips半導體公司SJA1000 CAN控制器的PeliCAN功能;全靜態(tài)內核提供了擴展的節電方式;振蕩器可停止和恢復而不會(huì )丟失數據;改進(jìn)的1∶1內部時(shí)鐘預分頻器在12 MHz外部時(shí)鐘速率時(shí),實(shí)現500 ns指令周期;內部具有的16 KB內部程序存儲器完全滿(mǎn)足本系統要求。
作為系統控制核心,P87C591擔負兩個(gè)主要任務(wù)。其一是作為超聲波傳感器的控制核心,在其普通I/O口上擴展了超聲波傳感器的接收和發(fā)射部分電路,利用單片機軟件功能產(chǎn)生40 kHz信號并通過(guò)驅動(dòng)放大發(fā)射出去,再利用接收部分電路進(jìn)行接收。另外可以對其余口線(xiàn)繼續進(jìn)行超聲波傳感器的擴展,實(shí)現多個(gè)超聲波傳感器系統的設計。其二是利用P87C591的片內CAN控制器實(shí)現與CAN總線(xiàn)的連接。這樣的設計改變了過(guò)去在機器人控制核心上進(jìn)行超聲波測距系統的設計,不但將超聲波檢測與處理的工作轉移到了單片機上,大大節省了機器人控制核心的系統資源,還將CAN總線(xiàn)智能節點(diǎn)的大部分控制工作也轉移到了單片機上,節省了硬件資源,同時(shí)CAN總線(xiàn)的采用大大提升了系統的抗干擾能力,使機器人控制系統更加穩定地工作。
1.2 超聲波傳感器發(fā)射部分
超聲波傳感器發(fā)射部分硬件電路如圖3所示。
圖3 超聲波傳感器發(fā)射部分
評論