光盤伺服控制系統(tǒng)是典型的光機(jī)電一體化的控制系統(tǒng),是光盤驅(qū)動(dòng)器和CD/VCD/DVD播放器的重要組成部分。目前業(yè)界普遍采用單片機(jī)與伺服控制數(shù)字信號(hào)處理器配合實(shí)現(xiàn)的結(jié)構(gòu),已可單片化(將單片機(jī)和伺服控制數(shù)字信號(hào)處理器集成在一塊芯片上)實(shí)現(xiàn)光盤伺服控制系統(tǒng)。不論是芯片組的形式,還是單片化的形式,都少不了以板級(jí)控制軟件(也稱為固件)實(shí)現(xiàn)控制系統(tǒng)。目前普遍采用的方案是利用運(yùn)行于單片機(jī)的小型嵌入式操作系統(tǒng)實(shí)現(xiàn)光盤伺服系統(tǒng)。
為采用自行研發(fā)的光盤伺服信號(hào)處理器實(shí)現(xiàn)支持多格式光盤的伺服控制系統(tǒng),筆者對(duì)光盤伺服控制系統(tǒng)做了比較深入的研究。本文介紹了一種以Hitachi的H8S/2357F作為控制處理器,μC/OS-II作為嵌入式實(shí)時(shí)操作系統(tǒng)的光盤伺服控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。
1 光盤伺服控制系統(tǒng)的硬件設(shè)計(jì)
光盤伺服控制系統(tǒng)的硬件設(shè)計(jì)如圖1所示。該設(shè)計(jì)采用自行研發(fā)的伺服數(shù)字信號(hào)處理器、Hitachi公司的H8S/2357F高性能16位微控制器、AKM公司的AK8566、TI公司的SSI3736等芯片實(shí)現(xiàn)CD-ROM、DVD和CD-R/RW的伺服功能。并在該系統(tǒng)中完成對(duì)自行研發(fā)的光盤伺服數(shù)字信號(hào)處理器設(shè)計(jì)的驗(yàn)證,為光盤伺服系統(tǒng)的產(chǎn)品化做好準(zhǔn)備。
2 光盤伺服控制系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)分析和軟件設(shè)計(jì)是光盤伺服控制系統(tǒng)實(shí)現(xiàn)的難點(diǎn)之一,設(shè)計(jì)的優(yōu)劣關(guān)系到系統(tǒng)的讀碟能力、使用壽命、穩(wěn)定性、擴(kuò)展性、維護(hù)性等性能。因?yàn)橐骖櫍模郑摹ⅲ茫暮停茫模遥遥椎裙獗P格式和各種不同的機(jī)械參數(shù)的設(shè)置,伺服控制軟件的設(shè)計(jì)變得相對(duì)復(fù)雜。為了使控制邏輯明了和易于實(shí)現(xiàn),采用在H8S/2357F上運(yùn)行μC/OS-II實(shí)現(xiàn)光盤伺服控制系統(tǒng)是一個(gè)比較好的選擇。H8S/2357F的資源比較豐富,μC/OS-II在H8上可以很好地運(yùn)行,易于系統(tǒng)的開發(fā)。
光盤伺服系統(tǒng)設(shè)計(jì)的關(guān)鍵是分析光盤伺服系統(tǒng),把各個(gè)功能在μC/OS-II核的基礎(chǔ)上建立起來(lái),使其有機(jī)協(xié)調(diào)地運(yùn)轉(zhuǎn),實(shí)現(xiàn)光盤伺服控制系統(tǒng)。
圖3 執(zhí)行態(tài)的子系統(tǒng)之間的通信和切換關(guān)系
2.1 μC/OS-II嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)
μC/OS-II是由JEAN J.LABROSSE編寫的一個(gè)源代碼公開、可免費(fèi)使用的嵌入式實(shí)時(shí)操作系統(tǒng)。它是μC/OS的一個(gè)升級(jí)版本。從最老的μCOS到最新的μC/OS-II,已有十多年的歷史。它的特點(diǎn)主要有:公開源代碼、可移植性、可固化、可裁減、支持多任務(wù)、具有可確定性等。μC/OS-II面向中小型嵌入式系統(tǒng),是基于優(yōu)先級(jí)搶占式的實(shí)時(shí)多任務(wù)操作系統(tǒng),包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)間通信同步(信號(hào)量、郵箱、消息隊(duì)列)和內(nèi)存管理等功能,絕大部分代碼用C語(yǔ)言編寫,與硬件相關(guān)部分用匯編語(yǔ)言編寫。
基于μC/OS-II的應(yīng)用系統(tǒng)工作時(shí),首先把CPU初始化;接著進(jìn)行操作系統(tǒng)初始化,主要完成任務(wù)控制塊(TCB)初始化、TCB優(yōu)先級(jí)表初始化、空任務(wù)的創(chuàng)建等;然后開始創(chuàng)建新任務(wù),并可在新創(chuàng)建的任務(wù)中再創(chuàng)建其他的新任務(wù);最后調(diào)用OSSTART()函數(shù)啟動(dòng)多任務(wù)調(diào)度。
2.2 光盤伺服系統(tǒng)的分析
對(duì)光盤伺服控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)已有一些參考資料。根據(jù)μC/OS-II的特點(diǎn)和光盤伺服系統(tǒng)工作的具體情況,筆者將實(shí)現(xiàn)的光盤伺服系統(tǒng)分為三個(gè)運(yùn)行狀態(tài):Power-On State(上電態(tài))、Idle State(空閑態(tài))、Execution State(執(zhí)行態(tài))。圖2表示了設(shè)定的三個(gè)狀態(tài)之間的關(guān)系和進(jìn)入各個(gè)狀態(tài)的條件。三個(gè)狀態(tài)中,執(zhí)行態(tài)最為復(fù)雜。為了把復(fù)雜的問(wèn)題簡(jiǎn)單化,把執(zhí)行態(tài)劃分為三個(gè)子系統(tǒng):Host Interface(HIS)、Buffer Manager(BM)、 Disk Interface(DIS)。圖3表示了這三個(gè)子系統(tǒng)之間的聯(lián)系和進(jìn)入跳出各個(gè)子系統(tǒng)的條件。圖4表示了子系統(tǒng)之間的狀態(tài)變化及其條件,比較明晰地表示了執(zhí)行態(tài)的實(shí)現(xiàn)過(guò)程。
圖4 執(zhí)行態(tài)子系統(tǒng)的任務(wù)狀態(tài)運(yùn)行關(guān)系
2.3 伺服系統(tǒng)的軟件結(jié)構(gòu)
經(jīng)過(guò)如上分析,光盤伺服系統(tǒng)初始化后,創(chuàng)建了五個(gè)任務(wù):Host Task(主機(jī)任務(wù))、Serial Port Task(串口任務(wù))、Disk Read Task(讀盤任務(wù))、Disk Write Task(寫盤任務(wù))、Servo Task(伺服任務(wù))。任務(wù)間通過(guò)Semaphore(信號(hào)量)和Mailbox(郵箱)進(jìn)行通信,實(shí)現(xiàn)交互控制和任務(wù)的切換。圖5表明了這五個(gè)任務(wù)之間的關(guān)系。
圖5 光盤伺服系統(tǒng)的任務(wù)結(jié)構(gòu)框圖
下面給出主程序的框架:
void main (void)
{
//初始化處理器和硬件
……
//產(chǎn)生任務(wù)
OSTaskCreate(ServoTask,(void*)0,(void*)&ServoTaskStk[511],4);
OSTaskCreate(DiscWrTask,(void*)0,(void*)&DiscWTaskStk[511],6);
OSTaskCreate(DiscRdTask,(void*)0,(void*)&DiscRdTaskStk[511],8);
OSTaskCreate(HostTask,(void*)0,(void*)&HostTaskStk3[511],10);
OSTaskCreate(SerialCmdTask,(void*)0,(void*)&SerialCmdTaskStk[511],3);
OSTaskCreate(ServoTimerTask,(void*)0,(void*)&ServoTimerTaskStk[511],1);
//產(chǎn)生信號(hào)量和任務(wù)參數(shù)
……
//任務(wù)開始運(yùn)行
OSStart();
}
本設(shè)計(jì)在Hitachi公司提供的開發(fā)系統(tǒng)HEW2上編譯實(shí)現(xiàn),并在驗(yàn)證系統(tǒng)實(shí)測(cè)。結(jié)果顯示:該設(shè)計(jì)可以實(shí)現(xiàn)CD-ROM、DVD和CD-R/RW的功能,適用于光盤伺服控制系統(tǒng),具有便于維護(hù)、易于擴(kuò)展等優(yōu)點(diǎn)。對(duì)于支持多格式光盤的驅(qū)動(dòng)器和播放器的實(shí)現(xiàn),具有重要的參考價(jià)值。
相關(guān)推薦
UC/OS-II操作系統(tǒng)——任務(wù)(一)
uC/OS-II系統(tǒng)開發(fā)的6條重要總結(jié)
uC/OS-II實(shí)時(shí)操作系統(tǒng)移植技巧
uC/OS-II源碼包的下載
uC/OS-II簡(jiǎn)介
uC/OS-II簡(jiǎn)介
uC/OS-II簡(jiǎn)介
uC/OS-II簡(jiǎn)介
uC/OS-II簡(jiǎn)介
uC/OS-II簡(jiǎn)介
μC/OS-II下通用驅(qū)動(dòng)框架該怎樣去設(shè)計(jì)?
μC/OS-II具有哪些特點(diǎn)應(yīng)用?
μC/OS-II內(nèi)核的任務(wù)調(diào)度及內(nèi)存管理,看完你就懂了
μC/OS-II在P89V51RD2上是怎樣實(shí)現(xiàn)移植的?
μC/OS-II在SOC芯片C8051F041上的移植
μC/OS-II實(shí)現(xiàn)牙椅控制系統(tǒng)
μC/OS-II操作系統(tǒng)移植條件是什么?如何完成移植?
μC/OS-II是什么?μC/OS-II有哪些應(yīng)用?
μC/OS-II的中斷按鍵怎么處理?
μC/OS-II的特點(diǎn)
μC/OS-II的特點(diǎn)是什么? 它在單片機(jī)中有哪些應(yīng)用?
μC/OS-II的移植方法
μC/OS-II操作系統(tǒng)在各種處理器上的移植
μC/OS-II操作系統(tǒng)在各類處理器怎么移植?
μC/OS-II在總線式數(shù)據(jù)采集系統(tǒng)中有哪些應(yīng)用?
μClinux/μC/OS-II/eCos/FreeRTOS和都江堰操作系統(tǒng)的特點(diǎn)及不足是什么?
μClinux/μC/OS-II/eCos/FreeRTOS的特點(diǎn)及不足是什么
【圖書分享】嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II經(jīng)典實(shí)例
【干貨分享】μC/OS-II 軟件定時(shí)器的分析與測(cè)試
為什么想學(xué)uc/OS-II
什么是嵌入式操作系統(tǒng)μC/OS-II?
基于μC/OS-II怎么設(shè)計(jì)混合動(dòng)力整車控制器?
如何去改進(jìn)μC/OS-II的關(guān)鍵算法?
如何實(shí)現(xiàn)μC/OS-II在AT89C51上的移植?
如何實(shí)現(xiàn)μC/OS-II的移植?
如何將LwIP協(xié)議棧移植到μC/OS-II實(shí)時(shí)操作系統(tǒng)上去呢
如何改進(jìn)μC/OS-II內(nèi)核的堆棧結(jié)構(gòu)設(shè)計(jì)?
嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用
嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在LPC2378上怎么移植?
嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在S12單片機(jī)上的移植
嵌入式軟件使用c語(yǔ)言編程,μC/OS-II系統(tǒng),用什么靜態(tài)分析...
怎么實(shí)現(xiàn)基于μC/OS-II的CAN總線驅(qū)動(dòng)程序的設(shè)計(jì)?
是否在單片機(jī)系統(tǒng)中嵌入μC/OS-II,這是一個(gè)值得思考的問(wèn)題?
請(qǐng)問(wèn)怎樣去完成μC/OS-II的移植過(guò)程?
請(qǐng)問(wèn)有邵貝貝翻譯的《嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II》光盤資料嗎?
適用于μC/OS-II的低功耗模式
采用μC/OS-II的事件記錄和查詢系統(tǒng)
基于μC/OS-II的嵌入式音頻系統(tǒng)設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC/OS-II 在Nios上的移植
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC/OS-II 任務(wù)調(diào)度機(jī)制的改進(jìn)
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC OS-II 在S3C44B0X 處理器上的移植
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC OS-II 在Nios 上的移植1
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于μC/OS-II的文件系統(tǒng)設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/load.png)
嵌入式μC/OS-II在LPC2104上的移植及通信設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于嵌入式系統(tǒng)μC/OS-II的雙CAN通信構(gòu)件
![](https://skin.elecfans.com/images/2021-soft/load.png)
輕型PPP協(xié)議在μC/OS-II操作系統(tǒng)中的實(shí)現(xiàn)
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC/OS-II在壓力測(cè)控系統(tǒng)中的應(yīng)用
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC/OS-II在PC機(jī)上移植的設(shè)計(jì)與實(shí)現(xiàn)
![](https://skin.elecfans.com/images/2021-soft/load.png)
實(shí)時(shí)操作系統(tǒng)OS-II在ARM7上的移植
![](https://skin.elecfans.com/images/2021-soft/load.png)
μC/OS-II在S3C44BOX處理器上的移植
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/2B/wKgZomUMMveAF8sdAAB_D86Cb8k358.gif)
μC/OS-II任務(wù)棧處理的改進(jìn)設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
用協(xié)處理器提高μC/OS-II的實(shí)時(shí)性
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/AC/wKgZomUMNTiAMVZpAAAQo0nUwDI699.gif)
μC/OS-II實(shí)時(shí)性能測(cè)試與分析
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/AC/wKgZomUMNTqAEawLAAAF0kAg7aQ264.gif)
一種用于光盤伺服控制系統(tǒng)的通用濾波器的設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/D7/wKgZomUMNeuAffiEAABEvZgAOLg018.jpg)
μC/OS-II在EP7312上的移植
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/06/wKgZomUMNpmAbviOAAAfSr6Q5nQ876.gif)
基于μC/OS-II的顯示控制系統(tǒng)開發(fā)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/6E/wKgZomUMOGeAbZgTAABzeNbtUgI376.jpg)
μC/OS-II操作系統(tǒng)在各種處理器上的移植
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/98/wKgZomUMOSaAc4XYAABCe3RKaRw086.jpg)
基于μC/OS-II的智能拆焊、回流焊溫度控制系統(tǒng)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/D4/wKgZomUMOlCABT4tAAAXGa5dcUw285.jpg)
μC/OS-II中縮短中斷關(guān)閉時(shí)間方法
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/E4/wKgZomUMOqaAEYGxAAAKWj-Xng8704.jpg)
基于uC/OS-II的變頻器結(jié)構(gòu)控制系統(tǒng)設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A6/01/wKgZomUMOz2AMcDiAAAWLZk91ks972.jpg)
基于μC/OS-II操作系統(tǒng)實(shí)現(xiàn)在P89V51RD2微控制器上運(yùn)行
![](https://skin.elecfans.com/images/2021-soft/eye.png)
評(píng)論