精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術EM9170 SPI接口用戶指南簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-14 14:51 ? 次閱讀

1、功能描述

EM9170提供了一路硬件4線制SPI接口供用戶使用,它的4條信號線與系統的GPIO復用,系統上電后,對應管腳默認為GPIO狀態(詳見《EM9170工控主板數據手冊 》),當在應用程序中打開SPI接口后,對應的信號線將自動切換到SPI狀態。EM9170 SPI接口支持以下特性:

· 4線制全雙工同步串行接口
· 主控(Master)工作模式
· 可以配置SPI時鐘信號(SPI_SCLK)的相位和極性
· 支持1至32-bit可配置的數據通訊位寬
· 支持DMA操作方式
· 最高波特率16Mbps

SPI通訊的時序簡單,主要是在SPI時鐘(SCLK)的同步下,在兩個設備的移位寄存器間進行數據通訊。EM9170的SPI接口可以配置SCLK的極性(POL)和相位(PHA),圖1為設置不同的相位和極性配置時,時鐘信號的輸出波形。

圖1:SPI總線SCLK和MOSI,MISO之間的關系

圖1中的時鐘極性(POL)決定了SPI串行時鐘信號線(SCLK)空閑時的電平,如果POL=0,串行時鐘空閑時為低電平,POL=1串行時鐘空閑時為高電平。時鐘相位(PHA) 用來決定數據在什么時刻輸出和鎖存輸入。如果 PHA=0,SPI控制器在SCLK的下降沿輸出數據,在SCLK上升沿鎖存輸入的數據。當PHA=1時,將在SCLK上升沿輸出數據,而在SCLK下降沿鎖存輸入數據。SPI線上的主從設備必須根據具體情況設置匹配的傳輸時序模式,時序只有匹配,數據才能正常通訊。

2、操作說明

2.1 打開SPI端口
通過調用CreateFile( )函數來打開系統的SPI設備,設備名稱為“SPI1:”如下所示:

// Open the SPI port.
hSPI = CreateFile (TEXT”SPI1:”, // name of device
GENERIC_READ | GENERIC_WRITE, // access (read-write) mode
FILE_SHARE_READ | FILE_SHARE_WRITE, // sharing mode
NULL, // security attributes (ignored)
OPEN_EXISTING, // creation disposition
FILE_FLAG_RANDOM_ACCESS, // flags/attributes
NULL); // template file (ignored)

2.2 數據通訊
在進行SPI數據通訊前,需要調用SPIConfig()函數對SPI總線做相應的配置,函數申明如下:

BOOL SPIConfig( HANDLE hCSPI, PCSPI_BUSCONFIG_T pCspiConfig );

其中參數pCspiConfig為SPI總線配置結構體,其定義如下:

typedef struct
{ // CSPI bus configuration
UINT32 freq; // SPI波特率:<=16Mbps
UINT8 bitcount; // 數據位寬:1~32bit
BOOL pol; // 設置時鐘極性
BOOL pha; // 設置時鐘相位
} CSPI_BUSCONFIG_T, *PCSPI_BUSCONFIG_T;

用戶調用SPIExchange()函數來完成一次數據收發,函數申明如下:

BOOL SPIExchange(
HANDLE hCSPI, // 由CreateFile創建的HANDLE
PVOID pTxBuf, // 發送數據緩存
PVOID pRxBuf, // 接收數據緩存
UINT32 xchCnt ); // 傳輸的數據個數

需要注意的是,參數pTxBuf和pRxBuf是LPVOID型指針變量,當設置SPI通訊位寬(CSPI_BUSCONFIG_T的bitcount成員)為1~8時,數據收發緩存(pTxBuf和pRxBuf)需要定義為UNIT8數據類型,當SPI通訊位寬為9~16時,數據收發緩存需要定義為UINT16類型,當SPI通訊位數為17~32時,數據收發緩存要定義成UINT32數據類型。

下面是示例程序片斷:

HANDLE hSPI; // 定義SPI操作HANDLE
DWORD dwXchCnt; // 定義傳輸字節個數
CSPI_BUSCONFIG_T spiConfig; // 定義SPI總線配置數據結構體
spiConfig.bitcount = 8; // bit count=8
spiConfig.freq = 16000000; // XCH speed = 16M
spiConfig.pha = FALSE; // Phase 0 operation
spiConfig.pol = FALSE; // Active high operation
// if 1<=cspiConfig.bitcount<=8 收發緩存需要定義為UINT8類型
UINT8 TxData[1024] = { 0x01, 0x02, 0x03, 0x04, 0x05 };
UINT8 RxData[1024];
// if 9<=cspiConfig.bitcount<=16 收發緩存需要定義為UINT16類型
// UINT16 TxData[1024] = { 0x01, 0x02, 0x03, 0x04, 0x05 };
// UINT16 RxData[1024];
// if 17<=cspiConfig.bitcount<=32 收發緩存需要定義為UINT32類型
// UINT32 TxData[1024] = { 0x01, 0x02, 0x03, 0x04, 0x05 };
// UINT32 RxData[1024];
// 打開SPI總線 (SPIOpen( )內部調用了CreateFile()函數)
hSPI = SPIOpen( TEXT(“SPI1:”) );
SPIConfig( hSPI, &spiConfig ); // 設置SPI總線配置信息
dwXchCnt = 5; // 傳輸5個數據
SPIExchange( hSPI, TxData, RxData, dwXchCnt ); // 進行SPI數據傳輸,傳輸5個數據

2.3 關閉SPI
調用CloseHandle函數關閉由CreateFile創建的HANDLE即可關閉SPI端口。

CloseHandle( hSPI);

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35226
收藏 人收藏

    評論

    相關推薦

    Jacinto7 EVM信息娛樂擴展用戶指南

    電子發燒友網站提供《Jacinto7 EVM信息娛樂擴展用戶指南.pdf》資料免費下載
    發表于 11-28 15:10 ?0次下載
    Jacinto7 EVM<b class='flag-5'>信息</b>娛樂擴展<b class='flag-5'>用戶</b><b class='flag-5'>指南</b>

    USB接口適配器評估模塊用戶指南

    電子發燒友網站提供《USB接口適配器評估模塊用戶指南.pdf》資料免費下載
    發表于 11-20 11:49 ?0次下載
    USB<b class='flag-5'>接口</b>適配器評估模塊<b class='flag-5'>用戶</b><b class='flag-5'>指南</b>

    采用Xilinx FPGA的AFE79xx SPI啟動指南

    電子發燒友網站提供《采用Xilinx FPGA的AFE79xx SPI啟動指南.pdf》資料免費下載
    發表于 11-15 15:28 ?0次下載
    采用Xilinx FPGA的AFE79xx <b class='flag-5'>SPI</b>啟動<b class='flag-5'>指南</b>

    圖形用戶界面與命令行接口的比較

    在計算機科學和信息技術領域,用戶與計算機交互的方式主要分為兩種:圖形用戶界面(GUI)和命令行接口(CLI)。這兩種界面各有優勢和局限性,適用于不同的場景和
    的頭像 發表于 11-12 14:38 ?227次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?391次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?337次閱讀

    EM430F6137RF900參考設計指南

    電子發燒友網站提供《EM430F6137RF900參考設計指南.pdf》資料免費下載
    發表于 09-19 10:41 ?0次下載
    <b class='flag-5'>EM</b>430F6137RF900參考設計<b class='flag-5'>指南</b>

    CC2652RSIP最終用戶手冊信息和OEM安裝指南

    電子發燒友網站提供《CC2652RSIP最終用戶手冊信息和OEM安裝指南.pdf》資料免費下載
    發表于 09-12 10:20 ?0次下載
    CC2652RSIP最終<b class='flag-5'>用戶</b>手冊<b class='flag-5'>信息</b>和OEM安裝<b class='flag-5'>指南</b>

    CC2651R3SIPA最終用戶手冊信息和OEM安裝指南

    電子發燒友網站提供《CC2651R3SIPA最終用戶手冊信息和OEM安裝指南.pdf》資料免費下載
    發表于 09-12 10:19 ?0次下載
    CC2651R3SIPA最終<b class='flag-5'>用戶</b>手冊<b class='flag-5'>信息</b>和OEM安裝<b class='flag-5'>指南</b>

    梯度科技入選2023年信息技術應用創新解決方案名單

    日前,工業和信息化部網絡安全產業發展中心(工業和信息化部信息中心)在天津舉辦2024信息技術應用創新發展大會暨解決方案應用推廣大會。會上正式公布了2023年
    的頭像 發表于 09-09 16:29 ?394次閱讀

    【GD32H757Z海棠派開發板使用手冊】第十一講 SPI-SPI NOR FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI簡介 ?GD32H7 SPI簡介 ?SPI NOR FLASH——GD25Q128ESIGR
    的頭像 發表于 06-04 11:42 ?888次閱讀
    【GD32H757Z海棠派開發板使用手冊】第十一講 <b class='flag-5'>SPI-SPI</b> NOR FLASH讀寫實驗

    【GD32F470紫藤派開發板使用手冊】第十一講 SPI-SPI NOR FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI簡介 ?GD32F470 SPI簡介 ?SPI NOR FLASH——GD25Q32ESIGR
    的頭像 發表于 05-17 09:57 ?1669次閱讀
    【GD32F470紫藤派開發板使用手冊】第十一講 <b class='flag-5'>SPI-SPI</b> NOR FLASH讀寫實驗

    龍芯中科三項信方案入圍工信部2023年信息技術應用創新應用示范案例名單

    近日,工業和信息化部通報了2023年信息技術應用創新解決方案征集遴選結果,本次共評選出典型解決方案173個、應用示范案例83個、單項創新案例64個。
    的頭像 發表于 03-07 16:45 ?871次閱讀
    龍芯中科三項信<b class='flag-5'>創</b>方案入圍工信部2023年<b class='flag-5'>信息技術</b>應用創新應用示范案例名單

    軟通動力與捷技術簽訂戰略合作協議

    近日,軟通動力信息技術(集團)股份有限公司(以下簡稱“軟通動力”)與寧波捷技術股份有限公司(以下簡稱“捷技術”)正式簽訂戰略合作協議,并
    的頭像 發表于 02-03 16:35 ?1086次閱讀

    SPI接口的相關介紹

    SPI和IIC接口一樣是非常常見的開發板接口,但與IIC相比,SPI設計了一種二進制流的交互方式,擁有更快的傳輸速度,它可以在任何兩個嵌入式設備之間交換消息,ELF1開發板也是通過
    的頭像 發表于 12-06 15:49 ?1247次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>接口</b>的相關介紹