第三章 系統架構
本章將介紹本輸入裝置所採用的 Windows CE 嵌入式作業系統,並且介紹相 關的硬體架構。
3.1 系統介紹
由於本研究是使用嵌入式系來研發本輸入裝置,所以必須先了解什麼是嵌入 式系統?接著將介紹嵌入式系統上的作業系統,最後將介紹本輸入裝置的硬體架 構。
3.1.1 嵌入式系統
嵌入式系統一開始僅僅只在工業中應用[14],但是隨著電腦科技的進步,尤 其是微處理器技術的快速發展,電腦的運算速度越來越快,記憶體、硬碟容量越 來越大,性能越來越強,但是體積卻越來越小,成本越來越低。由於這樣的發展 趨勢,造就了將電腦技術應用到各個領域,嵌入到各種裝置、設備中的想法,於 是嵌入式系統成為電腦技術的一個新里程碑。
在日常生活中具處理器的、有運算能力的裝置已經超過我們的想像,最普通 的是就是個人電腦、筆記型電腦、伺服器,但是有更多的裝置其實都有內嵌處理 器,例如:手機、電梯、汽車、數位相機、MP3 隨身聽…等等。甚至在工業控 制中的生產線設備,或者是國防軍事上的雷達或衛星等通訊設備。這些裝置都是 嵌入式系統被普遍使用的証明,顯然的嵌入式系統已經普及到我們日常生活的每 一個角落了。
嵌入式系統跟一般個人電腦所使用的電腦系統是不一樣的,嵌入式系統不會 以獨立的設備狀態出現,嵌入式系統將會根據主體的設備和需求,嵌入在主體設 備的內部,並做運算、控制、儲存等動作。嵌入式系統主要由嵌入式處理器、嵌 入式軟體和相關的硬體裝置所組成,嵌入式處理器一般是採用單晶片或微控制 器。嵌入式軟體則包括作業系統、硬體驅動程式、資料庫系統、通訊協定、圖形 介面等等。而相關的硬體裝置則包括 RAM、ROM、USB 介面、I/O 介面、顯示 介面、網路介面、硬碟等等。而嵌入式系統從以前發展至今,大約可分成三個階 段,如表 3-1 所示。
表 3-1 嵌入式系統發展歷史
發展階段 系統特點
第一階段 嵌入式系統發展的初期,通常是以單晶片作 為系統核心,並運用在工業控制系統中。這 種嵌入式系統沒有作業系統的支援,而是透 過組合語言程式來執行。
第二階段 嵌入式系統發展的中期,改用嵌入式微處理 器並採用嵌入式作業系統作為系統核心,效 能大大的提高,具有高度的模組化和擴充 性,並可提供圖形視窗、使用者介面。
第三階段 嵌入式系統發展的近期,結合網路設備、電 腦通訊並且正迅速發展。
而現今一般的嵌入式系統普遍的有以下的共通點:
(1). 系統資源有限
嵌入式系統擁有的資源嚴格的被限制住,例如:儲存空間有限,甚 至有些嵌入式系統使用電池供電,所以電能供應也受到限制。
(2). 系統具可配置性
嵌入式系統可在多種不同硬體環境下進行配置。
(3). 系統外接設備變化多
嵌入式系統可接受各式各樣的輸入、輸出裝置。一般的輸入裝置可 能是鍵盤或滑鼠,但若是軍事上用到的嵌入式系統其輸入裝置可能是雷 達信號。
(4). 作業系統可靠性要求嚴格
由於在某些領域應用的嵌入式系統不允許錯誤的產生,例如:飛機 上所採用的嵌入式系統。所以對嵌入式系統上的作業系統可靠性要求極 高。
(5). 作業系統佔用系統資源少
由於系統本身資源有限,所以不允許嵌入式系統上的作業系統佔用 太多的資源。
(6). 即時 (real time) 回應要求嚴格
例如:在軍事上使用的嵌入式系統,其即時回應的效能必須達到系
統規定。
3.1.2 嵌入式作業系統
由以上的介紹得知,嵌入式系統應用的環境跟一般的電腦系統並不相同,因 此對作業系統的要求也會有所不同,於是就產生出因應的作業系統:嵌入式作業 系統。
嵌入式作業系統若照應用的範圍來劃分可分為:通用型的嵌入式作業系統以 及專用型的嵌入式作業系統。比較常見的通用型的嵌入式作業系統有 Windows
CE、VxWorks (WindRiver 公司發展的嵌入式作業系統,美國太空總署的火星極 地登陸號即採用 VxWorks) 以及嵌入式 Linux;專用型的嵌入式作業系統則有
PDA 上的 Palm OS 以及用於行動電話的 Symbian。
然而,不管是哪一種嵌入式作業系統,它仍然是一種作業系統,所以他仍然 具有一般作業系統的功能,包括:程序管理、儲存管理、設備管理、中斷處理、
處理器排程等等。當然也有跟一般作業系統不一樣的地方,表 3-2 即為嵌入式作 業系統的特色。
表 3-2 嵌入式作業系統的特色
特色 說明
即時性 嵌入式作業系統必須嚴格規定在規定時間 內完成對任務的處理。
可靠性 嵌入式作業系統必須具有高度的可靠性,甚 至有些嵌入式作業系統還對關鍵程式提供
容錯的功能。
小型化 在保證系統可以正常運作下,盡量減少嵌入 式作業系統佔用的資源。
擴充性 嵌入式作業系統必須要能夠支援多種 CPU 硬體平台。
3.1.3 Windows CE 嵌入式作業系統
雖然上個小節所提到的 VxWorks 嵌入式作業系統性能廣受使用者的好評,
但是 VxWorks 取得不易,而且所需的授權費用極高,核心程式也不對外公開;
相對的,由 Microsoft 公司所開發的 Windows CE 嵌入式作業系統就比較親民了,
不僅授權費較便宜,而且 Microsoft 公司更提供了一個類似 Visual C++的開發軟 體:eMbedded Visual C++[15]。程式設計者可以直接利用 C/C++語言來編輯程式
[16]。由於種種的便利性,Windows CE 嵌入式作業系統在市場上的佔有率也逐 漸增加。
Windows CE 最小只需約 11MB 的空間,就可以將整個系統裝置好,其 Windows CE kernel 甚至只需 200K 的空間。並且支援四大系列的 CPU,包括:
ARM、MIPS、X86、SHx。Windows CE 擁有強大的通信能力以及優秀的圖形使 用者介面。而且 Windows CE 是模組化的,程式設計者可以選擇所需的模組,除 去不需要的模組,以節省使用空間。由於以上種種的優點,所以本研究將採用
Windows CE 嵌入式作業系統當作開發的環境。
3.2 硬體架構介紹
本輸入裝置將採用市面上現成的嵌入式硬體設備,並且開發自製的硬體設 備,以滿足本輸入裝置的需求。而我們採用的嵌入式硬體設備是 ICOP 公司[17]
所出產的 MISI-3000 Windows CE 5.0 嵌入式發展系統[18],其規格如表 3-3 所示:
表 3-3 MISI-3000 Windows CE 5.0 嵌入式發展系統規格表
Chipset Chipset Embedded Vortex86 166MHz System-on-Chip CPU[19]。
Real Time Clock with lithium battery backup。
BIOS AMI BIOS。
Bus PC/104 ISA Bus。
x-PCI Bus: ICOP Propietary PCI Bus。
RAM 128MB SDRAM on board。
Watchdog Timer Software programmable from 4ms to 1hour。
VGA Equipped with AUO 8.4” LVDS LCD,Power Inverter, LVDS signal Converter(ICOP-0096), LCD Cable, 8.4”
Touch Screen, Touch Controller。
AGP Rev.2.0 compliant。
Shared system memory up to 64MB (Default 8 MB)。
Support resolution up to 1,280x1,024 true colors。
VGA and STN/DSTN/TFT Flat Panel interface support。
LAN Realtek 8100B 10/100Mbps Ethernet Controller。
Half/Full duplex capability。
Audio Fully compliant with AC97 V2.1。
Hardware DirectSound accelerator。
Flash Disk Support 64MB Embed Disk。
Preload Windows CE 5.0 word pad shell (800*600x 60hz) 。
I/O Interface Enhanced IDE port x1。
FDD port x1。
RS-232 port x3。
RS-232/485 port x1。
Parallel port x1。
USB port x2 (Ver 1.1) 。 10/100Mbps Ethernet port x1。
Connectors 2.0mm 44-pin box header for IDE x1。
2.0mm 44-pin box header for LCD connector x1。
2.0mm 34-pin box header for FDD x1。
32-pin DIP socket for DOC x1。
2.0mm 26-pin box header for Printer x1。
2.0mm 10-pin box header for RS-232 x3。
2.0mm 10-pin box header for USB x1。
2.0mm 4-pin wafer for Line-in/Line-out/MIC-in x3。
2.54mm 2-pin header for RS-485 x1。
2.54mm 2-pin header for Re-set x1。
External 15-pin D-Sub female connector for VGA x1。
External 9-pin D-Sub male connector for RS-232 x1。
External RJ-45 connector for Ethernet x1。
External Mini DIN socket for Keyboard/Mouse x1。
Type I/II Compact Flash slot x1 Power 100V – 240V AC INPUT。
Dimensions 360 x 250 mm。
Operating Temperature
0°~ +60°C。
本輸入裝置除了使用現成的硬體設備,包括:CPU、USB、Embed Disk、觸 控、顯示等部份,更需要自製硬體設備以滿足本輸入裝置的需求,本輸入裝置主 要的硬體使用架構如圖 3-1。
CPU (Vortex86)
USB 控制器 Embed Disk 觸控面板
控制器
LCD 控制器
自製介面
IDE介面 USB介面
USB 介面裝置 LCD
面板 觸控面板
Parallel Port
個人電腦端PS/2鍵盤介面
圖 3-1 本輸入裝置所使用硬體架構圖
本輸入裝置採用 166MHZ 的 CPU,並且使用 Embed Disk,這個裝置是 IDE 介面,可依需求隨時做更換,目前常見的 Embed Disk 容量大小有 64MB、128MB、
256MB、512MB、1GB 等等,而本輸入裝置將採用容量大小為 64MB 的 Embed Disk 就足以完成所有功能;顯示方面則是採用 10.4 吋的觸控液晶螢幕,解析度為
800x600,這個裝置也是可以依照需求作更換。自製介面則是我們自製的額外硬 體設備,我們是利用 Parallel Port[20],並透過開集極輸出介面 7407IC[21],連接 成 PS/2 介面[22]。有了這個自製介面才能將本輸入裝置上的信號傳送至電腦端。
自製介面的硬體架構如圖 3-2 所示。
圖 3-2 自製介面硬體架構圖
Data
GND 5V
Clock
25
Clock In Data In Clock Out
Data Out
14
4
3 5
1
PS/27 5V
Parallel Port
3
12 15 2
1
4 2
7407 3 IC