close

一、程式說明:

使用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的溝通流程:

傳輸協定 - 

I2C Protocol.PNG

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的溝通流程:

  傳輸協定-

       SPI Protocol.PNG

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。

i2c1.PNG

新增寫入EEROM命令 一 

i2c3.PNG   

        新增讀取EEROM命令 一

  i2c4.PNG   

儲存已建立的命令列表 一

i2c6.PNG

載入先前建立的命令列表 一

i2c5.PNG

 

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

        spi1.png

       新增寫入SPI Flash命令 一 

       spi2.png

新增讀取EEROM命令 一

       spi3.png

儲存已建立的命令列表 一

spi4.png

載入先前建立的命令列表 一

spi5.png

Download:I2C_SPI(Source Code)      I2C_SPI (Binary Code)

arrow
arrow
    全站熱搜

    yunjuihuang 發表在 痞客邦 留言(3) 人氣()