Download presentation
Presentation is loading. Please wait.
Published by员 廉 Modified 8年之前
1
微處理機系統 第二章 MSP430 系列微控器軟硬體結 構
2
2-1 MSP430 系列混合訊號微控器簡介 2-2 MSP430F44x 硬體架構 2-3 MSP430 微控器之定址模式 2-4 MSP430 微控器之指令字模式 2-5 MSP430 微控器之模擬指令 2-6 MSP430 微控器指令集說明
3
16bit 精簡指令集電腦 (reduced instruction set computer, RISC) CPU MSP430 使用馮紐曼架構 (Von Neumann architecture) 位置記憶體匯流排 (memory address bus, MAB) 資料記憶體匯流排 (memory data bus, MDB) MSP430 系列混合信號微控器簡 介
4
MSP430 系列混合信號微控器的主要特 徵 1. 極省電架構可延長電池壽命 2. 類比量測精確度的完善表現 3. 16 位元 RISC 核心處理器 4. 嵌入式模擬 5. 具有彈性的時脈模組 6. 定址空間 原廠的說明 datasheet datasheet
5
MSP430 系列混合信號微控器的主要特徵 ( 續 ) 1. 極省電架構可延長電池壽命 0.1-μA 隨機記憶體保存的關機模式 (power down mode) 。 0.8-μA 待機模式 (stand by mode) 。 250-μA/MIPS 工作模式 (run time mode) 。 2. 類比量測精確度的完善表現 12 位元或 10 位元的類比數位轉換器 (ADC) 的取樣速率可達 每秒 20 萬次 (200kps) 。 12 位元數位類比轉換器 (DAC) 。
6
MSP430 系列混合信號微控器的主要特徵 ( 續 ) 3. 具有現代 16 位元 RISC 核心處理器 擁有較大的暫存器空間。 核心簡潔的設計來減少功率消耗及降低成本。 具有現代化高效能程式設計編譯的能力。 強大的中斷向量能力。 效能可高達每秒 16MIPS (Million Instructions Per Second) 。 4. 嵌入式模擬 系統內建可程式快閃記憶體模組 (flash memory) ,能夠彈性的對程式碼做 修改、更新,和檔案升級及紀錄資料。 JTAG 介面 - Joint Test Action Group (JTAG) is the common name used for the IEEE 1149.1 standard entitled Standard Test Access Port and Boundary-Scan Architecture for test access ports used for testing printed circuit boards using boundary scan. JTAG is often used as an IC debug or probing port.
7
MSP430 系列混合信號微控器的主要特徵 ( 續 ) 5. 具有彈性的時脈模組 以電池為電源的應用 低頻輔助時脈 (low-frequency auxiliary clock, ACLK) 由 32kHz 石 英振盪晶體產生,提供自我喚醒功能為背景的即時時鐘 (real- time clock, RTC) 使用。 高速的數位控制振盪器 (digital control oscillator, DCO) 產生主時 脈 (master clock, MCLK) ,供給 CPU 及高速的周邊模組使用。
8
MSP430 系列混合信號微控器的主要特徵 ( 續 ) 6. 定址空間 MSP430 採用馮紐曼架構,其定址空間分配給特殊功能暫存器 (special function register, SFR) 、硬體周邊 (memory mapping I/O) 、隨機存取記憶體 (RAM) 及 Flash/ROM 。 MSP430 記憶體儲存資料的格式分 bit 、 byte 及 word 三種. 記憶 體是以位元組為單位 (byte addressable) ,所以 word 格式的資料 必須符合 little endian 方式儲存在記憶體位置
9
MSP430 家族
10
MSP430x4xx 族系多功能混合信號微控器 MSP430x4xx 族系的特徵 – 內建一個 LCD 驅動介面 – 提供較多樣的類比介面. 如 : 流量計介面 (flow meter) 、電力量測介面 (electricity meter) 、運算放大器 (OP Amp) 及 12- bit 數位類比轉換 (DAC12) 提供完整的人機介面及特殊需求的量測功能,非常適合需要低功耗的可 攜式的電子產品, 如:電力量錶、流量計等工業應用,血糖計、血壓計、心電紀錄器等生理訊號 量測的醫療儀表,或 MP3player 、多功能讀卡機、智慧型充電器等 3C 應用產品 。
11
MSP430x4xx 族系多功能混合信號微控器 ( 續 ) MSP430F44x 的主要特徵: 工作電壓由 1.8V~3.6V 。 超低功率消耗:一般模式下工作電流僅有 280μA (1MHz, 2.2V) , 省電模式下工作電流僅有 1.1μA 。 5 種省電模式,從待機恢復所需的時間小於 6μs 。 16 位元 RISC 架構,指令週期僅需 125ns 。 60KB 程式記憶體, 2048B 資料記憶體。 8 個通道 (channel) 的 12-bit ADC ,其轉換速率最高可達每秒 20 萬次取樣 基本計時器可做 8-bit 計時 / 計數。 計時器 A 可做 16-bit 計時 / 計數器,包含 3 組抓取 / 比較暫存器。 計時器 B 可做 8~16-bit 計時 / 計數器,包含 7 組抓取 / 比較暫存器。 內建獨立的硬體乘法器 (hardware multiplier) ,提供高速的乘加 (multiply accumulate calculation, MAC) 運算以支援數位信號處理的需求。 支援多達 160 段 (segment) 的 LCD 驅動介面。
12
http://www.ti.com/
13
2-2 MSP430F44x 硬體架構
14
(1)16-bit RISC CPU 、 (2) 鎖頻迴路時脈產生模組、 (3)JTAG 實體模擬模組、 (4) 硬體乘法器、 (5) 程式記憶體 (MSP430F449 有 60KByte) 、 (6) 資料記憶體 (MSP430F449 有 256Byte) (7)8-bit 周邊裝置 ( 包含 P1~P6 USART0~USART1 、 LCD 模組、基本計時器 BT 、比較器 A 、電源管理 SVS… 等 ) 、 (8)16-bit 周邊裝置 ( 包含 ADC12 、計時器 A3 、計時器 B7 及看門狗計時器等 )
15
2-2-1 MSP430 的記憶體結構 馮紐曼記憶體架構 * 程式記憶體 (program memory) * 資料記憶體 (data memory) * 晶片內周邊模組 (Peripheral modules) * 特殊功能暫存器 (SFR) 等,都在同一個記憶體定 址空間內 (MSP430F44x 擁 有完整的 64Kbyte 的記憶 體空間 ) 。
16
記憶體資料匯流排 (memory data bus, MDB) 寬度為 16 或 8-bit 16-bit 內部周邊電路模組 ( 如 ADC) 存取是以字組為單位 (Word access) 8-bit 周邊電路模組 ( 如 LCD , USART) 存取是以位元組 (Byte) 為單位 (Byte access) 程式記憶體 (ROM) 及資料憶體 (RAM) 皆可以字組或位元組指令型態進行存取。 MSP430 的記憶體資料匯流排
17
資料格式 位元組型態的資料可擺放於記 憶體奇數或偶數位址上 字組型態的資料是被分成相鄰 的高端位元組 (High order Byte) 及低端位元組 (Low orderByte) ,必須符合小端優先 (little endian) 的限制,把低端位元組 資料放於記憶體偶數位址,高 端位元組料放於相鄰之較高位 址內。 隨機存取記憶體可以被字組及 位元組指令存取 周邊模組被分為兩種位址空間 必須使用適當的指令格式來存 取。
18
快閃記憶體 (Flash memory) 結構 MSP430F449 的 Flash memory 包含 –(1) 中斷向量 (Interrupt vector) –(2) 程式記憶體 (Code memory) –(3) 資訊記憶體 (Information memory) 可由 JTAG 埠、啟動載入器 (UART 埠 ) 或系統本身 (CPU) 來將程式碼 或資料寫入
19
隨機存取記憶體 (RAM) 隨機存取記憶體 (RAM) 可以被當成程式 (code) 或資料 (data) 記憶體使用 ,程式存取總是在偶數位址執行。在指令的字尾有幫助辨識字組或位元 組格式的設計:
20
隨機存取記憶體 (RAM)( 續 ) 一個字組可以分為兩個位元組 –bit-0~bit-7 是低端位元組 –bit-8~bit-15 是高端位元組 在資料搬移或存取時,不能由字組搬到位元組,但是可以由位元組搬移 到字組,其中沒使用的空間被設為 0 。
21
周邊模組 - 位置配置方式 MSP430 把周邊模組可以處理的資料字分成 word( 字組 ) 及 byte( 位元組 ) 兩類,分別配置在不同的記憶體區段: 字組模組 (word) : 0100h ~ 01FFh 此範圍屬於字組指令格式,字組模組 是以 16-bit 的資料記憶體匯流排 (MDB) 連結周邊和字組模組;當位元組 指令格式寫入此記憶體空間時,只有偶數位址被使用,其結果的高端位 元組通常為 0 。字組周邊模組所使用位址共有 16 個區間,每一區間代表 8 個字組空間。
22
周邊模組 - 位置配置方式 ( 續 ) 位元組模組 (byte) : 0010h ~ 00FFh 此範圍屬於位元組指令格式,位元 組模組是以記憶體匯流排 (MDB) 的低端位元組連結周邊,位元組模組通 常以位元組指令格式來存取。 若使用字組指令格式讀取位元組模組資料時,高端位元組讀到的資料是 未定,只有低端位元組的資料是正確的;若使用字組指令格式寫入位元 模組時,低端位元組的資料是正確的,高端位元組則被忽略。。
23
周邊模組-特殊功能暫存器 (SFRs) MSP430 把特殊功能及系統配置,放在特殊功能暫存器 (SFRs, special function register) 之內;特殊功能暫存器位址 安排在 00 ~ 0Fh 的位址空間內,是屬於位元組系統;必須使 用位元組格式的指令。
24
2-2-2 CPU 暫存器 MSP430F449 的 CPU 為一 個 16-bit RISC 架構,內含 16 個暫存器。 暫存器之間的資料轉移只 需一個系統時脈週期,所 以可以有效的減少指令執 行的時間。這 16 個暫存器 以 R0~R15 編號, R0 到 R3 分別為程式計數器 (PC) 、 堆疊指標 (SP) 、狀態暫存器 (SR) 及常數產生器 (CG) , 剩下的 R4 到 R15 則為一般 用途暫存器。
25
2-2-2 CPU 暫存器 ( 續 ) 暫存器與 MDB 、 MAB 匯流排及 ALU 組成 CPU 的 Datapath 。
26
程式計數器 (R0/PC) 程式計數器 (program counter, PC) 為 16-bit 指標,指向將要執行指令的 記憶體位置,指令執行時會將 R0 的內容更新,以便指向下一個待執行 指令的記憶體位址。 MSP430 系列的程式碼必須放置在記憶體的偶數位址,程式計數器也 是以偶數增加, PC 的 bit-0 ( 即 LSB) 保持為 0 。在 64KB 定址空間中,指 令的存取是在資料字範圍內被執行。
27
堆疊指標 (R1/SP) 堆疊指標 (stack pointer, SP) 使用於在呼叫 (CALL) 或中斷時儲存回返位置, SP 可以適用於所有的指令及定址模式。 SP 是使用遞減方式規劃,這個規劃的優 點是堆疊 (stack) 的頂部可以被使用到,使用者可以使用 PUSH 、 POP 指令來直 接使用堆疊。
28
狀態暫存器 (R2/SR/CG1) 狀態暫存器 (status register, SR) 可以當做一般的暫存器,在計算時作為 來源 (source) 或目 (destination) 使用,此時若使用暫存器定址法,存取 格式就必須是 16-bit 資料字,其餘的定址模式可被使用於常數產生器 (constant generator, CG1) 。 16-bit 的 SR 每個位元都是獨立的,主要任 務是呈現指令執行後的某些狀態,例如進位、溢位、負值、 0 值等, SR 的某些位元可以被改變以控制 CPU 的某些工作模式。
29
狀態暫存器 (R2/SR/CG1)( 續 )
30
常數產生暫存器 (R3/CG2) MSP430 可將 R2 及 R3 暫存器當作常數產生器,產生六種常用的常數 ,當指令中出現一些常用的數值時,組譯器會以此兩暫存器代替,不需 額外的 16-bit 暫存器儲存此常數,這樣可以節省程式碼長度。
31
微處理機系統 微控制器程式發展流程
32
微控制器程式發展流程
33
除錯程式 除錯程式 (debugger) A debugger is a computer program that is used to test and debug other programs (the "target" program). 整合發展工具 (Integrated Development Environment, IDE) An integrated development environment (IDE) also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of: –a source code editor –a compiler and/or an interpreter –build automation tools –a debugger –a simulator
34
線上實體模擬器 An In-Circuit Emulator (ICE) provides a window into the embedded system. The programmer uses the emulator to load programs into the embedded system, run them, step through them slowly, and view and change data used by the system's software. An "emulator" gets its name because it emulates (imitates) the central processing unit of the embedded system's computer. Normally it has a plug that inserts into the socket where the CPU chip would normally be placed. Emulating the processor lets the ICE do anything that the processor can do, but under the control of a programmer. ICEs attach a terminal or PC to the embedded system. The terminal or PC provides an interactive user interface for the programmer to investigate and control the embedded system.
35
Evaluation Module 評估模組 (Evaluation Module, EVM)
Similar presentations