基于FPGA的室內智能吸塵平臺設計
3 程序設計要點(diǎn)
將程序分為硬件程序設計和軟件程序設計兩部分,硬件程序設計要對硬件電路進(jìn)行時(shí)序仿真以確定達到調試的效果。
3.1 硬件程序設計與仿真
平臺主要通過(guò)傳感器和碰撞開(kāi)關(guān)產(chǎn)生輸入信號,通過(guò)FPGA處理信號,最后FPGA把處理后的信號傳到電機,由電機來(lái)完成一系列的動(dòng)作,如表1所示。所以其邏輯設計是實(shí)現智能的關(guān)鍵。


結束硬件選型后,利用Quartus II搭建硬件原理圖,編譯后對jk1、jk2、jk3、 jk4進(jìn)行時(shí)序仿真,分析時(shí)序關(guān)系,估計設計的性能并檢查和消除競爭冒險[7-9]。仿真結果如圖3所示。

時(shí)序仿真圖中,clk為輸入PWM信號,clr和en兩個(gè)模塊的片選信號是由FPGA的SoPC通過(guò)軟件C語(yǔ)言控制。當jk1=0、jk2jk3=1時(shí),output(PWM控制信號)會(huì )出現一段等于0之后產(chǎn)生20個(gè)波形。需要說(shuō)明的是:圖3(a)時(shí)序仿真圖中,output出現一段PWM后出現低電平后接著(zhù)出現了20個(gè)PWM,說(shuō)明平臺在正常前進(jìn)遇到j(luò )k1=0、jk2jk3=1時(shí),會(huì )停車(chē)一段時(shí)間接著(zhù)左拐或者右拐20個(gè)PWM角度。驅動(dòng)器用的是4細分,輸出1個(gè)PWM波形步進(jìn)電機會(huì )轉動(dòng)0.45°,應該旋轉90°但是波形個(gè)數為:n=(90/0.45)=200個(gè),在此用20個(gè)代替200個(gè)說(shuō)明問(wèn)題(圖3(b)的波形個(gè)數都會(huì )以此情況說(shuō)明)。
由圖3(b)可以看到前段時(shí)間jk4為高電平,pwmout輸出正常脈沖,說(shuō)明此時(shí)平臺處于正常吸塵狀態(tài)。后段時(shí)間jk4變?yōu)榈碗娖?,pwmout時(shí)延后輸出一小段脈沖,說(shuō)明此時(shí)平臺檢測到樓梯,停車(chē)一段時(shí)間后調整方向。
3.2 軟件程序設計
硬件設計調試完成后,還要進(jìn)行軟件系統設計。在C語(yǔ)言文件中編寫(xiě)C程序進(jìn)行SoPC的編程[10]。平臺工作總體算法流程如圖4所示。平臺接通電源,首先初始化進(jìn)入自動(dòng)清掃和手動(dòng)遙控清掃二選一模式;當選擇自動(dòng)清掃模式時(shí),通過(guò)鍵盤(pán)輸入平臺自動(dòng)清掃工作時(shí)間,在清掃過(guò)程中通過(guò)傳感器判斷是否遇到障礙物或樓梯并進(jìn)行處理。通過(guò)中斷,時(shí)刻查詢(xún)是否到達設置時(shí)間,如果沒(méi)到,則程序返回運行;如果設置時(shí)間到,則程序結束,平臺停止工作。當選擇遙控清掃時(shí),平臺運動(dòng)受操作者的控制。

通過(guò)硬件選型、搭建調試和軟件語(yǔ)言的編寫(xiě)調試,成功地制作出了簡(jiǎn)易平臺,實(shí)現了既定的各種功能。相比市場(chǎng)上的同類(lèi)產(chǎn)品,其結構更簡(jiǎn)單、成本更低、靈活性和擴展性更強,為研究者開(kāi)發(fā)更多功能提供了一個(gè)硬件支持的平臺,具有實(shí)用價(jià)值。隨著(zhù)微處理器的不斷進(jìn)步和傳感技術(shù)的發(fā)展,其性能可不斷改進(jìn),成本也可不斷下降。但在仿真和實(shí)現過(guò)程中發(fā)現其具體的流程算法不夠嚴謹,日后有必要繼續對其進(jìn)行改進(jìn)。
蜂鳴器相關(guān)文章:蜂鳴器原理 光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理 晶振相關(guān)文章:晶振原理
評論