Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
單晶片系統規劃實務技術
璽瑞股份有限公司 副總經理 廖國良
微電腦結構介紹
輸入單元
INPUT
中央處理單元
CPU
記憶單元
MEMORY
輸出單元
OUTPUT
微處理機:僅有CPU
微電腦包括電腦所有部門及元件
單晶片微電腦:將微電腦製作於單一晶片內
WIKI
單晶片(MCU)種類
位元數 編 號
8 8051、Z80、PIC12、PIC18、HT48、HT46、EM78
16 MSP430、80186、80188、PIC24、DSP320C2x
32 Cortex-M3、Cortex-M0、ARM 7、PIC32、DSP320C60
Microcontroller
WIKI
記憶單元(Memory Unit)
主記憶體 名 稱 特 性
ROM
Mask ROM 工廠大量生產
PROM(可程式) 保險絲組成,僅能燒錄一次
EPROM(可清除的可程式) 用紫外線清除
EEPROM 用高電壓清除,存取資料
FLASH ROM 用高電壓清除,分段寫入 (BIOS、記憶卡)
RAM
SRAM(靜態式) 正反器組成、速度快 (快取記憶體、單晶片微電腦的資料記憶體)
DRAM(動態式) 電容組成,須更新 (主記憶體)
WIKI
匯流排(BUS)種類
位址匯流排
(Address BUS)
資料匯流排
(DATA BUS)
控制匯流排
(Control BUS)
中央處理單元
CPU
記 憶 體
MEMORY
輸 出 入
I/O
三種匯流排結構
WIKI
位址匯流排(BUS)
位址匯流排 計 算 記憶容量 說 明
10條 210=1024 1K byte K=1024 M=1024K G=1024M
16條 216=65536 64K byte
20條 220=1024K 1M byte
24條 224=16384K 16M byte
30條 230=1024M 1G byte
32條 232=4096M 4G byte
位元址匯流排與記憶容量的關係表
WIKI
匯流排(BUS)比較
CPU 資料匯流排 位址匯流排 最大定址能力
8051 8 bit 16 bit 64K byte
PIC16C5X 12 bit 11 bit 2K word (12 bit)
EM78156 13 bit 10 bit 2K word (13 bit)
80286 16 bit 24 bit 16M byte
80486 32 bit 32 bit 4G byte
Pentium 64 bit 32/36 bit 4G/64G byte
各CPU/MCU的匯流排比較表
單晶片微電腦的整體結構
僅讀記憶體
ROM(程式)
串列埠
Serial I/O
脈波寬度調變
PWM
中央處理單
元 CPU
輸出入埠
I/O PORT
類比/數位轉換
A/D
時脈產生器
CLOCK
計時/計數
器 TIMER
隨意存取記憶
體 RAM(資料)
外部中斷
Interrupt
數位/類比轉換
D/A
WIKI
8051單晶片的結構
型號 內部ROM 容量(byte)
內部RAM 容量(byte)
外部中斷 計時器 輸出入腳
89C51 FLASH ROM 4k 128 2 2 32
89C52 FLASH PROM 8k 256 2 3 32
89C2051 FLASH PROM 2k 128 2 2 15
W78E516 FLASH PROM 64k 384 6 3 36
MPC82G516 FLASH PROM 64k 1280 2 3 36
SM59R16A2 FLASH PROM 64k 2048 2 3 48
WIKI
8051單晶片接腳電路
X 15
X 24
R ESET1
P3 711
INT0(P32 )6
INT1(P33 )7
T0 (P 34)8
T1 (P 35)9
P1 0(AIN 0)12
P1 1(AIN 1)13
P1 214
P1 315
P1 416
P1 517
P1 618
P1 719
TX D (P 31)3
R XD (P30 )2
V CC20
G ND10
89C2051
EA /VP31
X 119
X 218
R ESET9
R D(P3 7)17
W R (P36 )16
INT0(P32 )12
INT1(P33 )13
T0 (P 34)14
T1 (P 35)15
P1 01
P1 12
P1 23
P1 34
P1 45
P1 56
P1 67
P1 78
P0 039
P0 138
P0 237
P0 336
P0 435
P0 534
P0 633
P0 732
P2 021
P2 122
P2 223
P2 324
P2 425
P2 526
P2 627
P2 728
PS EN29
A LE/P30
TX D (P 31)11
R XD (P30 )10
V CC40
G ND20
89C51
小型化單晶片
最小6PIN內建震盪器….
多腳多功能單晶片
208PIN 以上多功能單晶片
可安裝WinCE、Linux…..
8-bit MCU Core
Phone MCU
Full Speed USB MCU
Remote MCU
Dual Slope A/D MCU
C/F to F MCU
A/D+LCD MCU
A/D MCU
I/O MCU
Small Package
MCU
I/O Flash MCU A/D Flash
MCU
TinyPowerTM MCU
單晶片個別用途系列
單晶片在日常生活中
單晶片在日常生活中
單晶片開發環境介紹
單晶片程式燒錄方法
單晶片程式除錯方式
單晶片程式語言與編輯環境
單晶片程式燒錄方法
IC燒錄器
線上燒錄(ICP/ISP)
ICP(In-Circuit Programming)
ISP(In-System Programming)
線上偵錯燒錄(JTAG 、ICD 、OCD )
ICD(In-Circuit Debugger) / OCD( On-Chip Debugger )
JTAG(Joint Test Action Group)測試存取埠標準
IC燒錄器
河洛 ALL-100 萬用燒錄器
力浦 LEAPER-48
掌上型燒錄器
西爾特(XELTEK) SUPERPRO/280U
智能通用編程器
線上燒錄(ICP/ISP)
現今可重複燒寫程式的Flash型MCU ,就幾乎會連帶提供線上燒錄(In-Circuit Programming;ICP)機制,或稱為ISP(In-System Programming)機制。
出貨後仍可在應用現場為MCU更新程式。
可運用遠端操控技術,直接將新程式透過網路傳遞至現場進行更新燒錄。
盛群 HOLTEK ISP
USB Target Board
ESTD-100 Interface
HT46F / HT48F …. 系列
笙泉Megawin ISP/ICP
Megawin 8051 series in system programmer & in circuit programmer
IC燒錄器工具軟體
線上偵錯(JTAG、ICD)
線上除錯器(In-Circuit Debugger;ICD)及執行中斷點(Breakpoint),可與外部開發工具程式相搭配,以進行開發上的測試除錯,或現場維修時的檢測。
JTAG主要是改善生產測試,有的MCU也內建線上除錯器(ICD) 。
TI MSP430 JTAG / SBW
MSP430 Flash Programmer JTAG and Spy-Bi-Wire (SBW) interface
Silicon Labs USB Debug Adapter
C8051Fxxx’s in-system debug/programming circuitry.
新茂 SyncMOS OCD
On-Chip Debugger (OCD)
TI Luminary USB JTAG ARM Cortex-M3
LM LINK USB JTAG調試器
線上燒錄技術追求方向
燒錄通訊介面使用USB容易連接。
燒錄程序的操作腳位數應盡可能地減少。
燒錄所用的電壓應盡可能與一般運作時的電壓相同。
燒錄程序應盡可能快速完成。
單晶片程式語言與編輯環境
整合開發環境(Integrated Development Environment,簡稱 IDE。
IDE通常包括程式語言編輯器、編譯器/直譯器、自動建立工具、通常還包括除錯器。
現在開發環境大多可使用C/C++/ASM等語言。
Keil uVision3 IDE IC 支援 8051 / ARM ,程式語言 C/C++/ASM
IAR Embedded Workbench IDE 分為8051 / MSP430 / ARM / AVR / dsPIC / NEC …版本 ,程式語言 C/C++/ASM
盛群Holtek HT-IDE3000 IDE IC 支援 Holtek全系列,程式語言 C/ASM
義隆WicePlus IDE IC 支援 EMC全系列,程式語言 C/ASM
Freescale Code Warrior IDE IC 支援 Freescale全系列, 程式語言 C/C++/ASM
Cypress PSoC Designer 5 IC 支援 Cypress全系列 PSoC,程式語言 C/C++/ASM
FFMC-8L Softune Workbench IC 支援 Fujitsu 全系列,程式語言 C/C++/ASM
Eclipse IDE Eclipse是著名的跨平台的自由集成開發環境(IDE) 支援 Java、C/C++、Perl、Ruby、Python
CyanIDE V2 IC 支援 Cyan全系列,程式語言 C/C++/ASM
8051單晶片介紹
8051是INTEL公司開發相當成功的單晶片,在教育界中用來當作單晶片學習的入門首選,由於其使用的普及,因此目前有好幾家設計半導體晶片的公司也有製造與8051相容的單晶片,有些公司所製造出來的單晶片其執行的速度更快,可以高達100MHz,讀者若想加快單晶片系統的執行速度時可以選用此一類型的8051。
由於8051在教育界的大量使用,業界也有不少的使用,未來的市場還是看好,無怪乎還有眾多的廠商紛紛推出相容的單晶片,及支援8051的程式發展工具。
單晶片學習的入門首選
MG84FL54B介紹
操作電壓:2.7V ~ 3.6V
核心:1T 80C51 , Up to 24MHz 工規
程式碼:16K bytes FLASH
記憶體:256 + 576 bytes SRAM
計時器:16-bit timer/counter × 3
USB介面:Full Speed USB(4 Endpoint)
串列通訊:UART × 1
輸入輸出:GPIO × 36
其他:鍵盤中段輸入 × 8;SPI(Master/Slave) × 1;TWSI(I2C兩線通訊) × 1
8051 核心 USB MCU --- Megawin (笙泉)
1T 8051
On-chip RAM
On-chip ROM for program code
5 I/O Ports
Timer 0/1/2
Serial Port
Interrupt Control
External interrupts
Timer / Counter
Key-Pad Control
GPIO
SPI
I2C
MG84FL54B 方塊圖 1T 8051 USB / 鍵盤控制 / 串列通訊 / 輸入輸出
USB Full Speed
MG84FL54B 接腳圖 LQFP-48 包裝
單晶片介面介紹 各種介面與功能介紹
•數位輸出入介面DI/DO •串列通訊I²C (I square C) •串列通訊SPI •中斷INT •脈寬調變PWM •計時/計數器(TIMER/COUNTER) •非同步串列通訊 UART ( RS232/RS485/RS422….) •類比數位資料轉換器(Analog to Digital Converter)
單晶片介面 DI/DO 數位輸出入介面DI/DO
輸入埠(input port)負責將外界的命令、資料取入微電腦中。一般微電腦的輸入埠只能夠輸入0與1兩種狀態。 輸出埠(output port)負責將CPU處理之結果送至外界。一般微電腦的輸出埠只能輸出0與1兩種狀態。 輸入電路:微電腦必須與按鈕、微動開關、磁簧開關、光電開關、溫度開關、近接開關…等相連接,才能得知外界的現況而做適當的處理。其接法有二,一以低態動作(activeLow),一以高態動作(activeHi)。 輸出電路:微電腦的輸出埠沒有能力直接去驅動馬達、電磁閥、電燈泡、電熱器…等負載,因此必須在微電腦與負載間加入"輸出介面電路"諸如電晶體、繼電器、固態電驛、電磁接觸器…等。其接法有二,一以低態動作(activeLow),一以高態動作(activeHi)。
單晶片介面 I²C 串列通訊I²C (I square C)
I²C是內部整合電路的稱呼,是一種串列通訊匯流排,使用多主從架構。
I²C只使用兩條雙向開放集極(Open Drain)(串列資料(SDA)及串列時脈(SCL))並利用電阻將電位上拉。I²C允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。
傳輸速率:標準模式(100 Kbit/s)~ 快速模式(400 Kbit/s)
單晶片介面 SPI 串列通訊SPI
序列周邊介面(Serial Peripheral Interface Bus,SPI),類似I2C,是一種4線同步序列資料協定,適用於可攜式裝置平台系統,但使用率較I2C少。序列周邊介面一般是4線,有時亦可為3線。
SPI匯流排定義四組 logic signals. * SCLK — Serial Clock * MOSI/SIMO — Master Output, Slave Input * MISO/SOMI — Master Input, Slave Output * SS — Slave Select 另一種稱呼亦廣泛被使用: * SCK — Serial Clock * SDI, DI, SI — Serial Data In * SDO, DO, SO — Serial Data Out * nCS, CS, nSS, STE — Chip Select
傳輸速率:可達 25 Mbit/s 以上
單晶片介面 INT 中斷INT
中斷是指CPU正執行正常工作的期間,由 CPU外界或內部產生的一個例外的要求,要求CPU暫時停下目前的工作,來做些必要的處理,以便滿足突如其來的狀況。 中斷的種類大體來說,不外乎硬體中斷、軟體中斷這兩類。硬體中斷的形成,通常是外界的硬體裝置利用由CPU拉出的中斷要求信號線來通知 CPU中斷的請求。而軟體中斷,通常是CPU自己引發的,比如說執行了不該執行的指令、計算錯誤或者是執行某個用來產生軟體中斷的指令。 對於處理中斷的一般原則是將目前執行CPU 狀態紀錄下來,然後跳到中斷處理程式做進一歩處理;中斷處理完成後,回復中斷發生前的狀態,然後繼續正常的程式執行。這些在進入及退出中斷所要做的工作,根據不同 CPU的複雜度,會有不同的負擔(Overhead),通常有個術語叫做:中斷潛伏期(Interrupt Latency),就是用來說明這類的處理延遲。
單晶片介面 TIMER/COUNTER 計時/計數器(TIMER/COUNTER)
單晶片的內部有計時/計數器,可接收內部震盪信號或外界輸入的信號,而能產生一個中斷與計數值。如果這個輸入信號代表某一事件發生的次數,則計時/計數器即是在作事件的計數;如果這個輸入信號是一個固定頻率的信號,則計時/計數器則可用以作計算時間的工作。因此,單晶片的計時/計數器為一體兩面,完全取決於信號的特質而定。 8051單晶片的中斷服務功能,可使中斷服務的需求以中斷的方式通知8501CPU,以使CPU獨立執行主程式,而提升執行效率。在8051單晶片中基本提供5個中斷源,分別為: 1. INT0:外部中斷,由8051單晶片第12接腳輸入。 2. Timer0:計時/計數器中斷。 3. INT1:外部中斷,由8051單晶片第13接腳輸入。 4. Timer1:計時/計數器中斷。 5. UART:串列埠中斷。
單晶片介面 PWM 脈寬調變PWM
脈寬調變PWM是Pulse Width Modulation的縮寫,他是利用0與1的數位訊號的寬度調整來模擬類比輸出的一種控制,那他廣泛運用在量測通訊與功率控制還有轉變中,他的原理是當給隔壁得電壓到應用中,例如led的時候他會全亮或是直流馬達他就會全速旋轉,但是如果在隔壁電壓中關掉一點關掉一點時間,那他的亮度就會稍微減少,那馬達的轉速也會稍微降低,那如果把關掉的區間調得更大,那他的led的亮度也會更加減少,然後馬達的速也會稍微降低利用這一種調整他的脈寬,然後使的他的輸出感覺上好像是他的平均值降低,這一種類比控制就叫做脈寬調變的方式。
單晶片介面UART 非同步串列通訊 UART ( RS232/RS485/RS422….)
UART是非同步串列通信口的總稱。 而RS232、RS499、RS423、RS422和RS485等,是對應各種非同步串列通信口的介面標準和匯流排標準,它規定了通信口的電力特性、傳輸速率、連接特性和介面的機械特性等內容。
單晶片介面ADC 類比數位資料轉換器(Analog to Digital Converter)
自然界中的物理現象,當予以數量化之後往往是呈現連續的類比訊號,因此若欲將外界物理量的變化量傳入微電腦中進行運算,或是要由微電腦輸出命令驅動裝置時,就需要將訊號進行轉換的處理。
單晶片線路設計 使用 PROTEL 99SE -> SCH
單晶片電路板設計 使用 PROTEL 99SE -> PCB
程式設計Keil uVision IDE IC 支援 8051 / ARM ,程式語言 C/C++/ASM
功能選單
程式
編輯區
訊息顯示
編輯檔案
工具列
專案
工作區
USB51開發工具介紹 使用USB載入程式、液晶顯示、網路與RS232(USB)通訊、多種感測器
實驗主板 模組板
MCU板
USB51開發工具特色
內建USB燒錄功能。
配套提供多種感測器(照度/溫度/加速度)20種以上 。提供C原始程式碼與實驗。
完整C51語言原始程式碼,熟悉、順手、入門快 。
Keil C環境,開發方便、快捷、簡單。
具有液晶顯示。直觀、明瞭。
電容式觸控按鍵可彈性規劃鍵盤。
支援ETHERNET網路與RS232(USB)通訊。
使用Keil C整合式開發環境
開發工具MCU板 最簡單的8051開發板 --- USB供電/USB更新程式/USB通訊傳輸資料
LED顯示 P1.0~P1.7
輸入按鍵x2 P3.2 P3.3
蜂鳴器Buzzer P4.0
USB 通訊燒錄
MCU MG82FL54B
ISP燒錄按鍵
MCU 板規格 MCU MG84FL54B
LDO 3.3V (穩壓)
LED * 8 (DO 實驗)
BUZZER (Timer/PWM 實驗)
BUTTON (DI / INT 實驗)
USB ISP(燒錄器/ISP按鈕)
附 Mini-USB線材
開發工具MCU板線路圖 MCU/LED/KEY/BEEP(聲音)/LDO(電源穩壓)/USB
開發工具主板 最簡單好用的開發板 --- USB供電/USB更新程式/USB通訊傳輸資料
ETHERNET RJ45
中斷模組連接座
LCD顯示 16x2
副模組連接座
USB 轉 Serial(RS232)
電容觸控按鍵 20 KEY
主模組連接座 MCU連接
座
AD模組連接座
主板規格 LCM(16*2)含背光
電容觸控鍵盤(20鍵)
網路 ETHERNET RJ-45
USB 轉 RS232
LDO 3.3V 穩壓
LED * 3 (TX/RX/NET)
開發工具主板線路圖一 USB 與 網路 轉 UART
開發工具主板線路圖二 電容觸控按鍵 20 KEY
開發工具主板線路圖三 MCU連接座 與 LCD顯示模組 16x2
開發工具主板線路圖四 LDO 電源穩壓 與 模組介面連接器
開發工具配套模組基本款 支援各種介面感測器
溫度偵測(SPI)、傾斜震動偵測(INT)
串列記憶體 (I2C)、照度亮度偵測(A/D)
可變電阻(A/D)、繼電器/按鍵(DI/DO)
LED調光(PWM) 、三軸位移加速度(SPI)
模組溫度偵測 IC型號ADT7301
功能描述 可即時偵測感應環境溫度狀況 備 註 精確度 ±1% 13-bit ,SPI串列通訊介面
DT7301是AD公司推出的13位元數位溫度感測器晶片。該晶片採用+2.7V~+5.5V電源供電,具有溫度轉換精度高、功耗低、序列介面靈活方便等特點。文中介紹了ADT7301的主要特性,並以其與8052介面為例,給出了ADT7301的序列介面電路、應用程式。
模組繼電器/按鍵 兩個按鈕一個繼電器
功能描述 使用按鈕開關控制繼電器開關 備 註 DI/DO實驗
模組LED調光 高亮度 10mm 白光 LED
功能描述 LED調光 備 註 PWM 實驗
無論LED是經由降壓、升壓、降壓/升壓或線性穩壓器驅動,連接每一個驅動電路最常見的線程就是須要控制光的輸出。現今僅有很少數的應用只需要開和關的簡單功能,絕大多數都需要從0~100%去微調光度。目前,針對光度控制方面,主要的兩種解決方案為線性調節LED的電流(類比調光)或在肉眼無法察覺的高頻下,讓驅動電流從0到目標電流值之間來回切換(數位調光)。利用脈衝寬度調變(PWM)來設定循環和工作週期可能是實現數位調光的最簡單的方法,原因是相同的技術可以用來控制大部分的開關轉換器。
模組滾珠傾斜震動偵測 全周45°傾倒偵測、上下翻轉偵測
功能描述 利用模組內的滾珠的移動,偵測感應傾斜或震動
備 註 外部中斷實驗
主要應用範圍 APPLICATIONS 1.舉凡易傾倒且需自動斷電之電器用品(如:電熨斗、立燈、立式電風扇、電暖器、加濕機、捕蚊燈), 2.需水平與垂直之訊號轉換偵測 (如:液晶螢幕、電子指南針) 3.需震動感應之裝置 (如 : 地震感測系統、震動感應器、自行車警示器、運動器材計數表、汽車防盜警報 器、溜溜球、鞋燈家庭安全系統…等),有關傾斜或震動偵測等功能需求之場所。 4.需離心感應之裝置 (如:輪胎離心力檢知)
模組記憶體EEPROM IC型號 AT24C04
功能描述 I2C串列介面記憶體存取實驗 備 註 記憶容量 512 x 8 (4K)
EEPROM,或稱 E2PROM,全稱「電可擦除可編程唯讀記憶體 (Electrically-Erasable Programmable Read-Only Memory)」。相比 EPROM,EEPROM 不需要用紫外線照射,也不需取下,就可以用特定的電壓,來擦除芯片上的信息,以便寫入新的數據。
模組可變電阻 5K歐姆可變電阻(電位器)
功能描述 可變電阻電壓調整輸入 備 註 ADC 轉換實驗
電位器,又稱為可變電阻,可以透過銅箔與印刷膜接觸旋轉或滑動產生於輸出、輸入端的不同電阻,而調整電壓。 電位器,顧名思義,就是可以調整電阻的大小。電路接在該電阻的中間時,電阻只有原來的一半,接到最邊緣時,則是該電阻的原來大小。看需要來選擇接的地方,就是可變電阻。
模組照度亮度偵測 光電晶體(PhototranSistor)
功能描述 偵測環境照度亮度 備 註 ADC 轉換實驗
光電晶體是將半導體對光的反應特性與電晶體的放大作用整合成一體的元件,其放大方式與一般電晶體相似。
模組三軸位移加速度偵測 IC 型號 ADXL345
功能描述 三軸位移加速度偵測 備 註 SPI介面
產品特性: * Ultra low power : 25 to 130uA * 13bits ADC resolution at ±16g * 4mg/LSB sensitivity in all g ranges * Free-Fall detection * Operating Temperature Range : -40℃ to +85℃ * 3 mm × 5 mm × 1 mm LFCSP package 產品應用: * 可攜式影像產品 * 手機 * PMP * 數位相機
開發工具配套模組加強款 多達20種以上感測器與驅動裝置
全彩LED調光(PWM)、RTC時鐘(I2C)
串列記憶體(SPI)、紅外線接收模組(DI)
溫濕度偵測(I2C)、全方向震動偵測(INT)
RFID讀卡模組(DI)、角速度偵測陀螺儀(SPI)
電壓輸出D/A(SPI)、霍爾元件電流偵測(A/D)
馬達控制(PWM)、麥克風輸入(A/D)
超音波收發(DI/Timer) 、光遮斷偵測(DI/DO)
紅外線人體溫度偵測(I2C)
GUI 圖形顯示實驗板 提供GUI實驗、圖形顯示、文字顯示、中文顯示
提供圖形轉換C語言工具
const Byte Image[1024]={ 0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0xC1,0x41, 0x41,0x41,0xC1,0x81,0x01,0x01,0xC1,0xC1,0x01,0x01,0x01,0x01,0xC1,0xC1,0x01,0x01, 0xC1,0xC1,0x01,0x01,0x01,0xF1,0x21,0x21,0x21,0xA1,0xA1,0xA1,0xA1,0xA1,0x21,0x21, 0x21,0xF1,0x21,0x01,0x21,0x21,0xE1,0x21,0x21,0xE1,0x31,0x21,0x01,0x01,0x81,0x41, 0x31,0x11,0x01,0x01,0x01,0xF1,0x51,0x51,0x51,0x51,0xF1,0x01,0x21,0x21,0xA1,0x61,
電池座模組 支援MCU板 與 20 種擴充模組 多種電池選擇
多介面通訊模組 支援RS232 / USB / RS485 / ETHERNET 與 20 種擴充模組
內建 RTC 與 2組繼電器
敬請指教
謝謝