Mais conteúdo relacionado Semelhante a 第三章Ti msp430平台介紹 v3 (20) 第三章Ti msp430平台介紹 v34. 物聯網電子系統平台
開發版硬體規格
MSP430-F5438 硬體規格介紹 :
The Texas Instruments MSP430 family of ultralow-power
microcontrollers
16-Bit RISC Architecture
Flexible Power Management System
Unified Clock System
16-Bit Timer
Up to Four Universal Serial Communication Interfaces
12-Bit Analog-to-Digital (A/D) Converter
4
5. 物聯網電子系統平台
開發版硬體規格
CC2500 硬體規格介紹 :
High sensitivity (–104 dBm at 2.4 kBaud, 1% packet error rate)
Frequency range: 2400 – 2483.5 MHz
Programmable data rate from 1.2 to 500 kBaud
64-byte transmit/receive
SPI interface
Output power up to +1 dBm
5
8. 物聯網電子系統平台
數位輸出實驗教學
實驗目的
可利用 UI 介面藉由通信系統來要求 MSP430 做高、低電位輸出
的信號控制。對於直流馬達、 LED 等單純高低電位控制等設備
皆須以此法操縱
硬體設備
MSP430F5438
LED*1
軟體工具與套件
IAR Embedded Workbench IDE version 4.21
原理簡介
設定 GPIO 訊號傳輸方向為 OUTPUT ,並且設定輸出訊號為高
電位 (HIGH) ,此為達到數位訊號輸出之目的。
8
9. 物聯網電子系統平台
數位輸出實驗教學
實驗 驟步 .
第一步 : 找出該功能對應之硬體 (LED), 與其在開發版上所在位
址 ( 位腳 ) 。本實驗以 P1.0(Port1 第一個 pin 腳 ) 為連接 LED 的
位。腳
第二步 : 根據該 位功能腳 , 決定該 位之傳輸方向。腳
1. 設定輸入 : 對 PxDIR 暫存器對應之 BIT 寫 0 。
2. 設定輸出 : 對 PxDIR 暫存器對應之 BIT 寫 1 。
第三步 : 輸出訊號,若是數位 I/O 則透過 PXOUT 來輸出訊號。
9
11. 物聯網電子系統平台
數位輸出實驗教學
問題與討論
設定 PxSEL 的目的是為了選擇相對應之 pin 的功能,有些 pin
除了當 GPIO 使用外還可以當作 PWM 或是 UART 、 SPI 等特
定功能,例如 P1SEL=0x02(P1SEL= b0000 0010) 就是將 port1 的
pin1 設定為 PWM 的輸出功能。
數位訊號輸出是控制周邊設備最基本的操作方式,凡事要對其
他設備做控制一定要給它們控制的訊號,而此控制訊號對
MSP430F5438 微處理器來說就是數位訊號輸出了,後面的章節
會介紹到 PWM 的使用, PWM 就是數位訊號輸出的一種應用
,可以用來控制馬達轉速、馬達轉向、 LED 亮暗程度等等。
11
17. 物聯網電子系統平台
數位輸入實驗教學
中斷向量表 :
系統程式之中的的表格,每一個 entry 紀錄一個 address ,這個
位址指到一段程式 ( 或說一個函式 ) ,稱為中斷處理程式 ( 或
ISR , Interrupt Service Routine) 。系統程式必須告訴 CPU 或中
斷處理器,中斷向量表放在 裡哪 ( 位於 個位址哪 ) ,當外部事件
或 exception 產生時, CPU 或中斷處理器會知道第幾號中斷產
生了,並參考中斷向量表,再將 CPU 「跳」到中斷向量表相對
entry 裡紀錄的位址。中斷處理程式執行完畢後,會返回被中斷
的程式。
中斷向量可查 msp430x54x.h 。
17
42. 物聯網電子系統平台
脈衝 度調變寬 實驗教學
實驗 驟步
第一步 : 找到 PWM 對應之 pin ,提供 LED 連接接 。腳
第二步 : 設定其功能為 PWM 、輸出入方向為 OUTPUT 。
第三步 : 設定 PWM 操作模式和 OUTPUT 模式 。
第四步 : 計算理想 duty cycle 。
第五步 : 設定輸出頻率與脈波 度。寬
42
44. 物聯網電子系統平台
脈衝 度調變寬 實驗教學
Up Mode 操作
操作說明 :
在 Up Mode 模式下計數器會從 0 數到 TAxCCR0( 使用者設定的
值 ) ,然後再直接回到 0 ,當計數器數到 TAxCCR0 時會產生
CCIFG 中斷訊號,而從 TAxCCR0 重至回 0 的時候會產生
TAIFG 中斷訊號。
44
48. 物聯網電子系統平台
脈衝 度調變寬 實驗教學
特性說明 :
首先給定 TAxCCR0 和 TAxCCR1 兩個暫存器 ,值
Up Mode 模式特性是當計數器從 0 數到 TAxCCR0 時計數器會
歸零
Reset/Set 模式特性是當計數器數到 TAxCCR1 時會產生 reset 訊
號,也就是本實驗設定的接腳 P8.1 為 LOW ,接者當計數器數
到 TAxCCR0 時會產生 set 訊號 (P8.1 為 HIGH) ,在 set 和 reset
之間就會產生一個脈波 度。寬
48
50. 物聯網電子系統平台
脈衝 度調變寬 實驗教學
程式說明 :
8~9 設定 P8.1 為 PWM 功能及 OUTPUT 方向。
10 設定 TimerA0 計數器 clock 來源、 PWM 操作模式。
11 設定 TimerA1 ,同上。
12 設定 OUTPUT 模式為 reset/set 。
13~14 設定 TA0CCR0 、 TA0CCR1 的 。值
15 設定 TA1CCR0 的值
16 開啟 TA1CCTL 中斷。
( 開 此中斷目的為當中斷發生時進入啟 ISR 調整 PWM 的脈波 度寬
,而設定 TA1CCR0 的 目的為當計數器數到值 TA1CCR0 時產生
中斷 )
18 進入 low power 模式並開 總中斷。啟
19 行以下就是 ISR 的撰寫,目的為藉由改變 TA0CCR1 的 來值
改變 duty cycle 大小,使得 LED 亮暗程度改變。
50
54. 物聯網電子系統平台
脈衝 度調變寬 實驗教學
問題與討論
PWM 的應用非常多,可以控制馬達、控制訊號頻率、調整蜂鳴
器音頻等等,使用上也不複雜,而要注意的是 duty cycle 的計算
,若計算錯誤則無法達成理想的效果,例如若要控制蜂鳴器音
頻,但 duty cycle 計算失準,理所當然蜂鳴器音頻就會不準確。
參考資料
MSP430F5438 datasheet
MSP430F5438 user guide
MSP430F5438 schematic
54
56. 物聯網電子系統平台
序列通訊界面實驗教學
原理簡介
SPI 全稱為「 Serial Peripheral Interface 」,此通信協定可以利用
四條線和目標板溝通。 SPI 除了全雙工之外,更可以藉由
MOSI 和 MISO 的配合不斷地將信息串起來,就像火車一樣,
從機的信息傳給下一個從機,不斷的位移到相對應的 Address
上。而 SPI 也可以利用 CLK 和 MOSI 來達到一線對多物控制的
效果。
MOSI : Master Output, Slave Input.
MISO : Master Input, Slave Ouput.
SCK : Clock.( 利用時間來分析出來 SPI 所傳輸過來的資料或是
傳輸出去的資料,如果沒有 CLK 幫忙分頻,資料將無法分析而
導致亂 。值 )
CS : Chip select.( 動該啟 Slave 設備 )
56
61. 物聯網電子系統平台
序列通訊界面實驗教學
實驗 驟步
本程式使用 SPI 之模組編號為 USCI_B0 ,而和 SPI 較為相關暫
存器包含:
一、控制暫存器 (UCB0CTL0 、 UCB0CTL1)
二、 Baud rate 控制暫存器 (UCB0BR0 、 UCB0BR1)
三、調整控制暫存器 (UCB0MCTL 、 UCB0MCTL1)
四、狀態暫存器 (UCB0STAT)
五、接收緩衝 (UCB0RXBUF)
六、發送緩衝 (UCB0TXBUF)
七、中斷開 暫存器啟 (UCB0IE)
硬體接線:
3.1(UCB0SIMO) 、 3.2(UCB0SOMI) 、 3.3(UCB0CLK).
61
69. 物聯網電子系統平台
序列通訊界面實驗教學
問題與討論
許多工程師會熟練一些通信協定以便於嵌入式系統、單晶片上
面的應用,目前 SPI 、 I2C 、 UART 三者是比較多人使用的,
在本次實驗中最主要注意的部分是暫存器的開 和啟 Baud rate 設
定、 Clock 的配置。而如果測試上發現只有一塊板子也沒有關
係,可以將自己的 MISO 接到自己的 MOSI ,因為 Clock 都是
一樣,所以不用擔心不同步的問題。藉用這個方法,就可以將
信息傳進來,也可以在 Buffer 中看到自己的資料。
參考資料
MSP430F5438 datasheet
MSP430F5438 user guide
Emp-Learn (http://emplearn.blogspot.tw/)
69
71. 物聯網電子系統平台
UART 實驗教學
原理簡介
通用非同步收發傳輸器 (Universal Asynchronous
Receiver/Transmitter, UART) 為一種非同步收發通訊機制,可將
資料由串列傳輸與並列傳輸間做傳輸轉換。
UART 傳輸資料主要原理為使用分時傳送方式,由傳送端每隔
一段時間就將一位元的資料狀態傳送出去,直到這筆資料傳送
結束,如此即完成一筆資料的傳送。接收端則必須以相同的速
度,以分時的方式一個位元一個位元的接收。
71
74. 物聯網電子系統平台
UART 實驗教學
Parity bit 機制 :
傳送端會計算 Parity bit ,也就是計算傳送資料裡面有幾的 1 ,
若 1 的個數為奇數則 Parity bit 為 0 ,偶數則為 1 。傳送端會連
帶 Parity bit 一起傳送,而接收端收到資料後也會計算資料中 1
的個數再和 Parity bit 做相比,若兩者符合則表示傳送資料沒有
遺失,不符合則表示資料在傳送過程中可能有缺陷。
74
76. 物聯網電子系統平台
UART 實驗教學
Baud-rate 設定公式 :
fBRCLK: clock source 頻率。
N: 計算後之結果 ,並設定到值 UCBRx 暫存器中。
範例 :
fBRCLK : 32768(32kHz)
Baud-rate : we want set 9600
N = 32768 / 9600 = 3.413…
76
77. 物聯網電子系統平台
UART 實驗教學
第二步 : 設定 UCBRSx
公式 : UCBRSx = round [ ( N – INT(N) ) * 8 ]
範例 :
UCBRSx = round [ ( 3.413 – INT(3.413)) * 8 ]
= round [ (3.413 – 3) * 8 ]
= round [ 0.413 * 8 ]
= round [ 3.304 ]
= 3
第三步 : 撰寫中斷 ISR ,將 RxBUF 收到的資料傳給
TxBUF 。
第四步 : 開啟 Putty 並且由鍵盤輸入字串。
77
86. 物聯網電子系統平台
UART 實驗教學
問題與討論
暫存器的設定在前幾章節都有類似的操作,所以本章節就不多
介紹。反而 UART 的 ISR 撰寫是比較 得注意的事。值 很多人剛
開始接觸 UART 時都會將 Tx 和 Rx 寫反,會有這樣的錯誤觀念
是因為使用者不小心將使用者端和 CPU 端 反了,程式撰寫全搞
部都是在寫 CPU 端的程式,所以要從 CPU 端來思考,由於
CPU 端的 Rx 是接受使用者端傳進來的資料然後 Tx 是將處理過
的資料回傳給使用者端,所以流程是「先收再傳」,也就是說
資料會先進 Rx 再傳到 Tx 再傳回使用者端,而程式碼的撰寫就
是 Tx=Rx 了。
參考資料
MSP430F5438 datasheet
MSP430F5438 user guide
MSP430F5438 schematic
86
90. 物聯網電子系統平台
CC2500 通訊模組實驗教學
實驗 驟步
第一步 : 設定 CC2500 傳輸頻率
在 CC1100-CC2500.c 中將傳輸頻率設定為檔 2400 。
第二步 : 初始化 SPI 、 CC2500 模組、無線電 Buffer 。
第三步 : 設定 KEYPAD 和 LED 位。腳
第四步 : 設定接收端無線接收 位,本實驗是使用腳 P1.6 接收訊
息。
第五步 : 撰寫傳送端 ISR 內容。
第六步 : 撰寫接收端 ISR 內容。
90
92. 物聯網電子系統平台
CC2500 通訊模組實驗教學
程式說明
10 初始化 SPI 設定。
11 初始化 CC2500 模組及暫存器。
12 初始化無線電設定。
13 設定 CC2500 和 MSP430 通訊模組。
14~20 設定 KEYPAD 暫存器並開啟 KEYPAD 中斷,與實驗
3.6 相同。
23 設定接收 位為腳 P1.6 並設定當訊號為下降緣 (HIGH to
LOW) 時產生中斷。 ( 當接收到資料後會產生中斷 )
24 清除 P1.6 中斷旗標。
25 開 接收 位中斷。啟 腳
26 當 RX 收到包封後發出信號告知 CPU 準備將資料透過 SPI 傳
輸到 MSP430 。
29 進入 low power 模式並開 總中斷。啟
92
94. 物聯網電子系統平台
CC2500 通訊模組實驗教學
程式說明 :
32~47 為按下 KEYPAD 之中斷,也就是傳送端中斷 ISR 。
49~60 為接受端中斷 ISR 。
35~36 設定 P4.1 為 LED 接 ,當訊息傳送的時候點亮腳 LED 燈
。
38 設定傳送封包長度。
39 設定接收端的位址。
40 傳送封包內容。
42 傳遞封包。
52 設定接收封包長度。
53~54 設定 P4.1 為 LED 接 ,當接收到訊息的時候點亮腳 LED
燈。
56~57 接收傳遞之封包資料。
94
Notas do Editor 時鐘來源(ADC or other timers)與保持時間(4,8,16,64 clocks)