E N D
開發環境初步介紹-開發環境組態 • 本書所使用的ARM嵌入式開發環境,包括Embest IDE整合開發環境,Embest Emulator for ARM JTAG 模擬器,Flash燒錄器,Embest S3CEV40開發板、各種連接線、電源轉接器以及實驗指導書等。基本實驗模型示意圖如1-5所示:如下圖所示,PC端與模擬器通過實驗系統提供的並列線連接,模擬器和開發板通過一根20針的JTAG線連接。中需要注意:1)開發板使用5V DC電源供電,建議使用實驗系統提供的變壓器, 2)模擬器側面的JTAG跳線到20位置。
開發環境初步介紹-Embest IDE開發軟體 • Embest IDE是一套應用於嵌入式軟體發展的新一代整合開發環境。它提供高效明晰的圖形化的嵌入式應用軟體發展平臺,包括一整套完備的面向嵌入式系統的開發和除錯工具:編輯器、編譯器、連接器、除錯器、專案管理器等。Embest IDE整合開發環境介面風格同Microsoft Visual Studio,是一套良好的嵌入式軟體視覺化開發環境。使用者可以很方便的在Embest IDE整合開發環境中建立和打開專案,建立、打開和編輯檔,編譯、連接、執行、除錯各種嵌入式應用程式。
開發環境初步介紹-JTAG電路模擬器 • 在嵌入式軟體發展時,完成設計和程式撰寫後,即開始除錯程式。Embest IDE除錯器提供程式裝載、執行、執行控制和監視所需要的強大的視窗除錯環境,支援原始碼顯示和除錯,同時可以觀察各類除錯資訊。 • JTAG電路模擬器也稱為JTAG除錯器,是通過ARM晶片的JTAG邊界掃描埠進行除錯的設備。JTAG模擬器連接比較方便,通過現有的JTAG邊界掃描埠與ARM處理器核心核通信。 • 另外,由於JTAG除錯的目的程式是在目標板上執行,更接近於目標硬體,因此,許多介面問題,如高頻操作限制、AC和DC參數不匹配,電線長度的限制等問題都可被最小化了。 • 使用整合開發環境配合JTAG模擬器進行開發是目前採用最多的一種除錯方式。Embest Emulator for ARM JTAG模擬器如圖1-7所示。Embest Emulator for ARM一端是一個DB25的介面,用於連接電腦的並行埠,另外一端是20針的IDC插頭,用於連接目標板。面板上面有三隻指示燈,對當前的工作狀態做出指示。
開發環境初步介紹- Flash燒錄器 • 當使用者程式撰寫完之後,需要把程式生成的二進位執行檔燒寫到開發板的Flash中觀察執行結果。英蓓特公司提供了一套的Flash燒錄器,使用者可以直接使用該燒錄器對開發板上的Flash進行讀寫(使用時需要配合前面提到的Embest Emulator模擬器)。
開發環境初步介紹-其它配備 • 實驗系統除了提供以上的元件以外,還提供了各種連接時候需要的電纜線。包括直通網線,USB線,串列線,並列線和兩根JTAG線(分別是20針和14針介面)。實驗系統還提供一個5V電源轉接器(Embest S3CEV40實驗板用)。
開發板介紹 • Embest S3CEV40開發板是實驗系統的主要硬體平臺,它是英蓓特公司開發的一款全功能ARM開發板,基於Samsung公司的S3C44B0X處理器(ARM7TDMI),資源豐富。硬體系統包含了嵌入式系統開發應用所需的大部分設備,如串列、乙太網路、USB埠、音訊輸出、LCD及TSP觸摸面板、4*4的小鍵盤、硬碟、串列、大容量的Flash和SDRAM等等。使用者不僅可以在該硬體平臺上完成實驗系統提供的實驗例子,還可以參考該平臺設計自己的目標系統。
主要功能模組 • 本書使用Embest S3CEV40開發板,可當作系統的產品開發的楚型板,或較學系統實驗板,其主要功能模組如下所示: • Embest S3CEV40開發板的基本資源如下: • 外部5V電源供電或者由USB接PC供電,電源指示LED以及500mA保險絲 • 1M×16bit Flash • 4×1M×16bit SDRM • 4Kbit IIC BUS的串列EEPROM • 2個串列,其中一個為簡單介面,一個為全接線介面,可接RS232 MODEM • 重定開關 • 兩個中斷按鈕,兩個LED • 外部IDE硬碟介面 • 320*240 LCD及TSP觸摸面板介面 • 20針JTAG介面 • USB連接器 • 4×4鍵盤介面 • 4個2×20PIN CPU擴充介面 • 10Mbps 乙太網路介面 • 七段顯示器 • MICROPHONE輸入埠 • IIS音訊信號輸出埠,可接雙聲道SPEAKER • 16M×8bit Flash硬碟
SAMSUNG S3C44B0X處理器 • 2.5V Static ARM7TDMI CPU core with 8KB cache . • SAMBA( SAMSUNG ARM CPU embedded Microcontroller Bus Architecture) • Up to 66MHz External memory controller. (FP/EDO/SDRAM Control, Chip Select logic) • LCD controller (up to 256 color DSTN) with 1-ch LCD-dedicated DMA. • 2-ch general DMAs / 2-ch peripheral DMAs with external request pins • 2-ch UART with handshake(IrDA1.0, 16-byte FIFO) / 1-ch SIO • 1-ch multi-master IIC-BUS controller • 1-ch IIS-BUS controller • 5-ch PWM timers & 1-ch internal timer Watch Dog Timer • 71 general purpose I/O ports / 8-ch external interrupt source 8-ch 10-bit ADC. • Power control: Normal, Slow, Idle, and Stop mode • RTC with calendar function. • On-chip clock generator with PLL
個別模組介紹 -Flash和SDRAM存儲系統 • 實驗系統上的存儲系統包括一片1M×16bit的Flash(SST39VF160)和一片4M×16bit的SDRAM(HY57V65160B)。 Flash連接電路如圖2-7所示,處理器是通過晶片選擇nGCS0與外部Flash晶片連接。由於是16bit的Flash,所以用CPU的位址線A1-A20來分別和Flash的位址線A0-A19連接。Flash的位址空間為0x00000000~0x00200000約2M bytes。
別模組介紹-Flash和SDRAM存儲系統 • SDRAM分成4個BANK,每個BANK的空量為1M×16bit。BANK的位址由BA1、BA0決定,00對應BANK0,01對應BANK1,10對應BANK2,11對應BANK3。在每個BANK中,分別用行位址脈衝選擇RAS和列位址脈衝選擇CAS進行定址。實驗系統為使用者提供設定跳線,作為升級SDRAM記憶體容量至4×2M×16bit。具體方法是使SDRAM的BA0、BA1分別接至CPU的A22,A23腳。SDRAM由MCU專用SDRAM晶片選擇信號nSCS0選擇,位址空間為0x0C000000~0x0C800000約8M byte2。
別模組介紹-IIC EEPROM介面 • 實驗系統上提供了一塊支援IIC匯流排的EEPROM(AT24C04),容量為4KB。 • IIC是用於內部IC控制的簡單的雙向雙線串列匯流排,在標準模式下資料的傳輸速度可以達到100kbit/s,在高速模式下可以達到400kbit/s。
別模組介紹-串列介面 • 串列介面電路如圖所示,實驗系統提供兩個串列(DB9)。 • 其中UART1為主串列,可與PC或MODOM進行串列通迅。由於S3C44B0X未提供DCD(載波測試)、DTR(資料終端準備好)、DSR(資料準備好)、RIC(振鈴指示)等專用I/O埠,故用MCU的通用I/O埠替代。 • UART0只採用二根接線RXD和TXD,因此只能進行簡單的資料傳輸及接收功能。全介面的UART1採用MAX3243E作為收發器,簡單介面的UART0則採用MAX3221E作為收發器。
別模組介紹-USB電路模組 • USB採用的介面元件是USBN9603,該USB控制器由NS公司生產,支持USB1.0、USB1.1通信協定,帶平行匯流排。 • 它有3種工作模式即Non-multiplexed parallel interface mode、Multiplexed parallel interface mode、MICROWIRE interface mode,模式選擇由接腳MODE1、MODE0決定。 • 設計時把MODE1,MODE0接地,因此介面模式定義為無複用並埠模式,在該模式中由於DMA沒有使用,因此把DACK接高電位。 • MCU通過解碼器生成的晶片選擇信號CS1對USB控制器進行選擇,USBN9603通過EXINT0對MCU發出中斷請求。
別模組介紹-Ethernet電路模組 • 本ARM嵌入式開發環境採用REALTEK公司生產的、性價比很高的、帶有即插即用功能的全雙工乙太網路控制器RTL8019AS對S3C44BOX進行乙太網路擴充。該網路控制器主要特性包括: • 符合Ethernet II與IEEE802.3標準; • 全雙工收發可同時達到10Mbps的速率; • 內置16KB的SRAM,用於收發緩衝,降低對主處理器的速度要求; • 支援8/16位元資料匯流排、8個中斷申請線以及16個I/O基底位址選擇; • 支援UTP,AVI和BNC自動測試,還支援對10BaseT拓撲結構的自動極性修正; • 4個LED可程式輸出; • 100腳的PQFP封裝,縮小了PCB板的尺寸。 • RTL8019AS有三種工作方式,在嵌入式應用中,如果不使用93C46,可以降低成本,同時又減少連線,因此通常採用跳線工作方式。網路卡的I/O基址由IOS3、IOS2、IOS1和IOS0決定。RTL8019AS中整合了兩塊RAM,一塊16KB,地址為DX4000~OX7FFF;一塊32位元組,位址為0X0000~0X001F。RAM按頁存儲,每256位元組為一頁。一般將第0頁稱為PROM,用於存放網路卡位址,它是網路卡重定時從93C46裏讀出來的。但由於實驗系統沒有使用93C46,因此也沒有使用PROM。這時要軟體程式指定一個網路卡位址,寫入到MAR0~MAR5內。16KB的RAM則用作收發資料的緩衝區,一般將Ox4C00~0x7FFF作為接收緩衝區,0X4000~0X46FF作為發送緩衝區。
別模組介紹-IIS介面 • IIS即音訊資料介面,它是SONY、PHILIPS等電子巨頭共同推出的介面標準。IIS介面電路如圖1-16所示,本系統把IIS介面與PHILIPS的UDA1341TS音訊數位信號編解碼器相連接,得到MICROPHONE音訊輸入通道和SPEADER音訊輸出通道。UDA1341TS可把身歷聲類比信號轉化為數位信號,同樣也能把數位信號轉換成類比信號,並可用PGA(可程式增益控制),AGC(自動增益控制)對類比信號進行處理;對於數位信號,該晶片提供了DSP(數位音訊處理)功能。在實際中,UDA1341TS可廣泛應用於MD、CD、NoteBook、PC和數碼攝相機等。S3C44B0X的IIS埠可與UDA1341TS的BCK、WS、DATAI、SYSCLK相連。對於UDA1341TS的L3匯流排,它是該晶片工作於微處理器輸入模式時使用的,它包括L3DATA、L3MODE、L3CLOCK共三根接線,它們分別表示為微處理器介面資料線、微處理器介面模式線,微處理器介面計時器線。通過這個介面,微處理器能夠對UDA1341TS中的數位音訊處理參數和系統控制參數進行設定。但是S3C44B0X中沒有設該專用介面,可通過通用I/O埠進行擴充。
別模組介紹-七段顯示器 • 實驗系統使用了一個八段LED,該七段顯示器是共陽極的,低電位信號使LED點亮。CPU 資料匯流排DATA(0~7)經74LC573驅動器對七段顯示器進行驅動。其晶片選擇信號由CPU的nGCS1及3個地址線A20、A19、A18經過解碼器生成的CS6選擇信號選擇,而8-SEG的內容則由CPU低八位元資料線決定。
別模組介紹-Flash硬碟 • ARM嵌入式開發環境提供了一塊16MB的Flash硬碟,晶片型號為K9F2808。其晶片選擇信號為NGCS1經74LV138解碼後得到的CS2,並用通用I/O埠GP6、GP7、PF3、PF4分別連接K9F2808的ALE、CLE 、R/B、CE埠;使用者可將硬碟與USB介面一起用在資料儲存使用,也可將使用者自己的程式及資料存儲到硬碟中。其具體應用有: • 將採集到的資料存儲到硬碟中,並可以將這些資料通過USB上傳到PC主機上進行備份或分析; • 將某系統的參數設定存儲於硬碟中,並可在系統執行時即時修改,掉電保護等; • 當系統程式碼量十分巨大,無法在2MB的FLASH快閃記憶體中執行時,可把程式碼存放在硬碟中,在系統上電時,通過執行在FLASH快閃記憶體中的啟動程式碼調入大容量的SDRAM中執行,此功能對執行大核心作業系統的應用程式十分有用。
別模組介紹-IDE介面 • 該介面是一個通用的8bit\16bit匯流排擴充埠,可掛硬碟或CF卡(Compact Flash卡),以及使用者自已擴充的週邊元件。介面連接到硬碟或CF卡時,LED_D4即硬碟工作指示燈變亮。 • 該介面佔用了CS3、CS4、CS5三個晶片選擇信號及EXINT4、EXINT5兩個外部中斷。
別模組介紹- LCD及TSP電路 • 由於S3C44B0X晶片已經提供了LCD控制器、驅動器及輸入輸出埠,因此只要把實驗系統的LCD介面相關接腳與CPU相應接腳連接即可。 • S3C44B0X晶晶片內部整合的LCD控制和驅動器可支援單色、4級灰階、16級灰階LCD及單色、256色STN LCD或DSTN LCD,典型的實際螢幕尺寸:640×480,320×240,160×160(Pixels),具體LCD類型可通過特殊功能暫存器進行設定。LCD 佔用的晶片選擇信號是CS8。 • 至於TSP,由於S3C44B0X晶片未提供該功能,因此可用通用I/O埠進行設定。TSP包括兩個面電阻,即X軸面電阻,Y軸面電阻,TSP於是就有4個終端埠,其接線如圖1-19。在系統處於休眠狀態時,Q1、Q2、Q3處於截止,Q4為導通;當觸摸面板受到接觸時,X軸面電阻與Y軸面電阻在接觸處導通,由於電阻值很小(幾百歐左右),使在EXINT2拉低,產生中斷;MCU通過對I/O埠的控制使Q1、Q4導通Q2、Q3截止,AIN0讀取X軸座標然後關閉Q1、Q4,使Q2、Q3導通,AEN1讀取Y軸座標。系統得到座標值後,關閉Q1、Q2、Q3打開Q4,回到初始狀態,等待下一次接觸。TSP 佔用了S3C44B0X外部中斷EXINT2,以及4個通用I/O埠GPE4~GPE7。
別模組介紹- 4×4 鍵盤電路 • 板上擴充了一個4×4行列式矩陣鍵盤介面。該鍵盤是採用中斷掃描的方式進行工作,行線選用了4個資料線,列線選用了4個位址線。 • 行線接上拉電阻保持高電位,並通過及閘74HC08將輸出信號與MCU的中斷EXINT1連接;列線接下拉電阻保持低電位。當有鍵盤按下時,該行線被拉為低電位,使得EXINT1輸入也為低電位,MCU產生中斷。中斷產生後通過對鍵盤的行和列進行掃描的方法可以計算出是哪個鍵按下,並跳到相應的鍵盤處理程式中去。 • 晶片74HC541是通過晶片選擇信號nGCS3來選擇的,這樣可以保證在鍵盤不使用的情況下MCU讀不到行線的輸入資訊。
別模組介紹-電源、重定、計時器電路和JTAG介面別模組介紹-電源、重定、計時器電路和JTAG介面 • 實驗系統是採用DC 5V穩壓電源進行供電,電源輸入後經過兩個穩壓晶片分別產生3.3V和2.5V的電壓,給MCU的I/O和ARM核心供電。 • 實驗系統上接了一個系統重定按鈕RESET,按下該按鈕即可使系統重定。 • 即時時鐘是通過MCU外接32.768KHz晶振和工作供電電路實現。實驗系統使用的20腳標準JTAG介面連接電路。
別模組介紹-開關與狀態指示燈 • SW1為整個實驗系統的電源開關,當開關撥到“USBPOWER”時,實驗系統由USB供電;當開關撥到“EXTPOWER”時,由外接電源供電。 • D3為電源指示燈,可以指示目前板子是否上電。 • 另外乙太網路也有4個狀態指示燈,分別為: • D5連接狀態指示; • D6接收資料指示; • D13發送資料指示; • D14自測試通過指示。
別模組介紹-實驗系統使用者測試區 • 實驗系統設定了多點焊盤陣列空閒區,方便使用者在實驗系統的使用與軟體發展過程中進行測試及電路擴充。
擴充匯流排 • ARM嵌入式開發環境上預留了所有CPU接腳的擴充介面,使用者可以非常方便地根據需求擴充記憶體和各種外部設備,能夠滿足大部分產品的應用。使用者在擴充時需要自己製作擴充板,只要擴充板上的介面定義和實驗系統上擴充介面相對應即可。