基于stm32的沖床自動(dòng)出料分揀控制器設計
1.5 電磁閥驅動(dòng)電路設計本文引用地址:http://dyxdggzs.com/article/159546.htm
1.6 傳感器輸入信號調理電路
2 軟件系統設計
本系統在微控制器上內嵌μC/OS-III操作系統。
2.1 μC/OS-Ⅲ介紹
μC/OS-III是一種可移植的、可植入ROM的、可裁剪的、搶占式的、實(shí)時(shí)多任務(wù)操作系統內核。它是micrium公司推出的第三代RTOS,提供了別的RTOS所不具備的特點(diǎn)。比如支持無(wú)限個(gè)任務(wù),可以在任務(wù)運行時(shí)測試其性能,直接發(fā)信號量或者消息給任務(wù)。
本文的軟件開(kāi)發(fā)環(huán)境是IAR Embedded Workbench forARM 6.21。
2.2 系統移植
μC/OS-Ⅲ可以移植到很多處理器上,和處理器相關(guān)的代碼用匯編和C混合編程來(lái)實(shí)現。只要處理器滿(mǎn)足下面幾個(gè)條件。
·處理器必須要有ANSI C編譯器和可重入代碼
·處理器要支持中斷
·中斷可以被使能或者禁止操作
·處理器要有一個(gè)硬件堆棧
·處理器有足夠RAM給μC/OS-Ⅲ系統和任務(wù)存放變量和數據結構
·編譯器要支持32位數據類(lèi)型,有些編譯器應該支持64位數據類(lèi)型
·處理器有相關(guān)指令能夠保存堆棧指針和處理器相關(guān)的寄存器
本文采用stm32f103c8t6這款芯片滿(mǎn)足上述要求。
根據μC/OS-Ⅲ結構,只要修改和處理器相關(guān)的4個(gè)文件:os_cpu.h、os_cpu_a.a(chǎn)sm、os_cpu_a.inc和os_cpu_c.co。
2.3 應用層程序架構設計
把軟件系統劃分成4個(gè)任務(wù),一個(gè)任務(wù)即一個(gè)線(xiàn)程,每個(gè)任務(wù)內構建立信號量,任務(wù)和中斷間通訊可以通過(guò)信號量進(jìn)行通訊,通過(guò)信號量,能把每個(gè)任務(wù)打包成基于信號量的簡(jiǎn)單干凈API。
評論