一、程式說明:
使用nuvoTon的NUC120LE3AN來宣告USB Human Interface Device (HID)作為與軟體溝通的介面,
並透過此架構來設定和操作NUC120LE3AN的I2C及SPI的介面,如此可以在不用更新韌體的情況與I2C或SPI
介面的週邊IC進行溝通。
二、基本的程式說明及取得:
2-1、如何宣告HID Device可以參考NUC100Series BSP_CMSIS中的Smpl_HIDTransfer。
2-2、如何設定及操作I2C的介面可以參考NUC100Series BSP_CMSIS中的Smpl_DrvI2C。
2-3、如何設定及操作SPI的介面可以參考NUC100Series BSP_CMSIS中的Smpl_DrvSPI。
2-4、如何使用程式與NUC120LE3AN進行溝通可以參考如何使用Window API與HID Device進行資料的溝通。
三、程式與NUC120LE3AN對於控制I2C的溝通流程:
傳輸協定 -
3-1 初始化NUC120LE3AN的I2C狀態 一
根據週邊IC所連接至NUC120LE3AN的I2C位置來設定其使用的I2CPort並設定溝通時的
Clock頻率,並依照上述0x11命令進行結構化後將資料傳送到NUC120LE3AN且Firmware依
照資料來設定M0的I2C初始化。
3-2 分析及傳送命令的相關參數 一
在傳送時先於軟體中分析傳送命令或資料的長度、讀取命令的長度及回值資料的長度並依照上述
0x12 命令進行結構化後將資料傳送到NUC120LE3AN,使NUC120LE3AN可以依照資訊來透過I2C
傳送及接收的週邊IC資料。
3-3 傳送命令的資料 一
計算使者輸入的資料長度並依照上述0x13命令進行結構化後送傳到M0,使NUC120LE3AN
可以依照接收的資料將該資料配合3.2所得的資訊透過I2C傳送至週邊IC或由週邊IC接收資料。
3-4 回傳傳送結果及資料 一
回傳資料是否已經透過I2C傳送至週邊IC且若有讀取週邊IC的資料一併透過HID回傳送至軟體。
四、程式與NUC120LE3AN對於控制SPI的溝通流程:
傳輸協定-
4-1 初始化M0的SPI狀態 一
根據週邊IC所連接至M0的SSL PIN來設定SPI並設定溝通時Clock頻率及Clock 初始狀態及讀取
資料時的狀態,並依照上述0x21命令進行結構化後將資料傳送到M0且Firmware依照資料來設定M0的
SPI初始化。
4-2 分析及傳送命令的相關參數 一
在傳送時先於軟體中分析傳送及回值資料的長度並依照上述0x22命令進行結構化後將資料傳送
到NUC120LE3AN,使NUC120LE3AN可以依照資訊來透過SPI傳送及接收的週邊IC資料。
4-3 傳送命令的資料 一
計算使者輸入的資料長度並依照上述0x23命令進行結構化後送傳到NUC120LE3AN,
使NUC120LE3AN可以依照接收的資料將該資料配合4.2所得的資訊透過SPI傳送至週邊IC
並接收週邊IC所回傳的資料。
4-4 回傳傳送結果及資料 一
回傳資料是否已經透過SPI傳送至週邊IC且若有讀取週邊IC的資料一併透過HID回傳送至軟體。
五、執行畫面:
5-1 I2C 操作說明 一 讀取Microchip的EEROM(24AA16)為例來進行資料的讀取與寫入。
由於NUC120LE3AN提供兩組I2C因此必須先選擇使用的I2C及設定該I2C的頻率,NUC120LE3AN
提供的最快頻率為1MHz。
新增寫入EEROM命令 一
新增讀取EEROM命令 一
儲存已建立的命令列表 一
載入先前建立的命令列表 一
5-2 SPI操作說明 一 讀取STMicroelectronics的SPI Flash (M25P10-A)為例來進行資料的讀取與寫入。
由於NUC120LE3AN只提供一組SPI和二個SSL的PIN來同時連接兩個SPI的週邊,因此必須先選擇使用
的SSL及設定該SPI的頻率;NUC120LE3AN提供的最快頻率為1MHz,另外除了上述的設定之外還必預設定
Type 的類型,不同的Type必須Clock的初始狀態,取讀取資料的狀態。
可參考NuMicro NUC100 Series Driver Reference Guide.pdf。
新增寫入SPI Flash命令 一
新增讀取EEROM命令 一
儲存已建立的命令列表 一
載入先前建立的命令列表 一
留言列表