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