chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

英創(chuàng)信息技術EM9280主板SPI訪問TLC2543 AD示例

英創(chuàng)信息技術 ? 來源:英創(chuàng)信息技術 ? 作者:英創(chuàng)信息技術 ? 2020-01-17 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

英創(chuàng)EM9280工控主板帶有半雙工的硬件SPI,與SPI協(xié)議的芯片通信時比使用GPIO模擬時序更加簡單方便。本文以TLC2543芯片為例,介紹如何使用SPI獲得芯片的AD數(shù)據(jù)。也為客戶使用SPI驅動與其它型號芯片通信提供參考。

TLC2543芯片簡介

TLC2543是德州儀器公司生產的12位開關電容型逐次逼近模數(shù)轉換器,有11路AD輸入。參考芯片手冊資料,TLC2543支持8bit,12bit,16bit 的SPI協(xié)議,EM9280可以使用8bit和16bit的SPI與TLC2543通信。TLC2543是12位的AD,所以8bit會省略4位數(shù)據(jù),而16bit會添加4位軟件模擬數(shù)據(jù)。本文只介紹16bit的使用方法。

參考芯片數(shù)據(jù)手冊。

上圖為TLC2543 16bit的時序圖,我們可以設置SPI為16bit,數(shù)據(jù)長度1字節(jié)來訪問。

TLC2543發(fā)送數(shù)據(jù)定義,例如需要訪問AIN6,即D7-D4為0110。讀取數(shù)據(jù)采用單極性,MSB first,8bit,即D3-D0為0100。那么發(fā)送的1字節(jié)數(shù)據(jù)就為b0110 0100,即0x64。

因為EM9280的SPI為半雙工,第一次16bit發(fā)送數(shù)據(jù),第二次16bit讀入數(shù)據(jù)。

資料說明TLC2543為12位AD。當使用16bit模式時會返回16位的數(shù)據(jù),低4位為無效0。我們可以通過移位,處理為12位的數(shù)據(jù)

C#程序代碼

參考EM9280光盤目錄C# SPI例程,對照TLC2543芯片資料,修改相關參數(shù)設置。16bit本來應該使用short(2字節(jié))數(shù)組進行操作,但是C#的Marshal.Copy只能操作byte數(shù)組,所以需要用byte數(shù)組來代替short數(shù)組,同時2位byte表示1位short。

比如:希望傳送short[0] = 0x0c00;那么就設置byte[0] = 0x00;byte[1] = 0x0c;

同樣在最后解析數(shù)據(jù)的時候,byte[0] = 0xc0;byte[1] = 0x6c;那么轉換后便是short[0] = 0x6cc0;

先定義SPI為16bit,在SPI.cs中定義

private const int SSP_WORD_LENGTH_16BITS = 0xF;

在SPIConfigure函數(shù)中定義

spiinit.eLength = SSP_WORD_LENGTH_16BITS;

執(zhí)行代碼


//spi初始化代碼---------------------------------
SPI.SPISetBandRate(hSPI, 2000000); //設置頻率2MHz
//spi發(fā)送---------------------------------------
i = 0; //讀取AIN0
//16bit
TxBuffer[0] = 0;
TxBuffer[1] = (byte)((i << 4) + 0x0c); //i左移4位到D7-D4,后面0x04為D3-D0?
sSPI.BitCount = 16; //設置為16bit
sSPI.pDatBuf = pTxBuffer;
sSPI.dwDatLen = 1; //設置數(shù)據(jù)1字節(jié)
sSPI.bLockCS = 0; //0為發(fā)送
Marshal.Copy(TxBuffer, 0, pTxBuffer, 10);
bRes = SPI.WriteFile(hSPI, ref sSPI, sizeSPI, ref uLen, 0);
//spi接收---------------------------------------
sSPI.BitCount = 16;
sSPI.pDatBuf = pRxBuffer;
sSPI.dwDatLen = 10;
sSPI.bLockCS = 1;
bRes = SPI.ReadFile(hSPI, ref sSPI, sizeSPI, ref uLen, 0);
Marshal.Copy(pRxBuffer, RxBuffer, 0, 10);
int AIN = RxBuffer[0] + RxBuffer[1]*256; //讀得數(shù)據(jù)

測試結果

AIN = AIN / 16; //右移4位,舍棄后4位軟件模擬數(shù)據(jù)
Double dAIN = (double)AIN / 4096.0 * 4.86;

這里讀得AIN為0x6cc0,右移動4位為0x06cc,為12位AD數(shù)據(jù),所以除以2^12即4096,再乘上基準電壓(用萬用表測得4.86V),結果為2.064V,用萬用表量得結果,幾乎是一樣的。

C程序代碼

參考EM9280光盤目錄C SPI例程,對照TLC2543芯片資料,修改相關參數(shù)設置。

先定義SPI為16bit

#define UseBitCount16 1 //修改該定義為或,實現(xiàn)位數(shù)據(jù)位或位數(shù)據(jù)位通訊
#if UseBitCount16
#define dBitCount 16
#else
#define dBitCount 8
#endif

定義BUFFER為16字節(jié)數(shù)組
WORD SPI_TxBuf[10],SPI_RxBuf[10];

執(zhí)行代碼


//spi初始化代碼---------------------------------
SPISetBandRate( hSPI , 2000000); //設置頻率2MHz
//spi發(fā)送---------------------------------------
i = 0; //讀取AIN0
SPI_TxBuf[0]= ((i << 4) + 0x0c)<<8; //i左移位到D7-D4,后面x0c為D3-D0,最后要左移8位,因為協(xié)議里16位前8位有效?
hSPI_Box.BitCount = dBitCount; //設置為8bit
hSPI_Box.bLockCS = 0; //0為發(fā)送
hSPI_Box.dwDatLen = 1; //設置數(shù)據(jù)1字節(jié)
hSPI_Box.pDatBuf = (BYTE*)SPI_TxBuf;
WriteFile( hSPI , &hSPI_Box , sizeof( hSPI_Box ) , (DWORD*)&i , 0 );
//spi接收---------------------------------------
hSPI_Box.bLockCS = 1;
hSPI_Box.dwDatLen = 1;
hSPI_Box.pDatBuf = (BYTE*)SPI_RxBuf;
ReadFile( hSPI , &hSPI_Box , sizeof( hSPI_Box ) , (DWORD*)&i , 0 );

測試結果
f=(double)(SPI_RxBuf[0]>>4)/4096.0*4.86 ;
這里讀得SPI_RxBuf[0]為0x6ca0,右移動4位為0x06ca,為12位AD數(shù)據(jù),所以除以2^12即4096,再乘上基準電壓(用萬用表測得4.86V),結果為2.062V,用萬用表量得結果,幾乎是一樣的。

詳細SPI例程代碼見光盤SPI例程,相關問題,客戶可以聯(lián)系英創(chuàng)工程師咨詢。

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

    關注

    7

    文章

    6107

    瀏覽量

    37007
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國產金融主板:賦能智慧金融,驅動信創(chuàng)產業(yè)升級

    隨著信息技術的飛速迭代,信創(chuàng)產業(yè)已在全球范圍內崛起,成為拉動經濟增長、激活創(chuàng)新動能的核心力量。在信創(chuàng)產業(yè)的關鍵布局中,智慧金融建設是重中之重,而國產金融主板的規(guī)?;瘧茫秊橹腔劢鹑诮?/div>
    的頭像 發(fā)表于 12-31 09:03 ?112次閱讀
    國產金融<b class='flag-5'>主板</b>:賦能智慧金融,驅動信<b class='flag-5'>創(chuàng)</b>產業(yè)升級

    國產芯筑基,飛騰主板賦能信創(chuàng)未來

    信息技術自主可控成為國家戰(zhàn)略的今天,信創(chuàng)產業(yè)正從“政策驅動”邁向“市場驅動”的高質量發(fā)展新階段。作為信創(chuàng)產業(yè)鏈的核心硬件基石,主板的國產化水平直接決定著整個
    的頭像 發(fā)表于 12-30 09:49 ?138次閱讀
    國產芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創(chuàng)</b>未來

    TLC2543M 12位模數(shù)轉換器:特性、原理與應用詳解

    ? 在電子設計領域,模數(shù)轉換器(ADC)是連接模擬世界與數(shù)字世界的關鍵橋梁。TLC2543C、TLC2543I、TLC2543M 這三款 12 位模數(shù)轉換器憑借其出色的性能和豐富的功能,在眾多應用場
    的頭像 發(fā)表于 12-09 11:19 ?537次閱讀
    <b class='flag-5'>TLC2543</b>M 12位模數(shù)轉換器:特性、原理與應用詳解

    深入剖析TLC2543-EP:一款強大的12位模數(shù)轉換器

    ? 在電子設計領域,模數(shù)轉換器(ADC)是連接模擬世界和數(shù)字世界的關鍵橋梁。TLC2543-EP作為一款12位、具有串行控制和11個模擬輸入的ADC,在數(shù)據(jù)采集和處理方面展現(xiàn)出了卓越的性能。今天
    的頭像 發(fā)表于 12-05 14:19 ?553次閱讀
    深入剖析<b class='flag-5'>TLC2543</b>-EP:一款強大的12位模數(shù)轉換器

    ?TLC6989 SPI-Compatible Connectivity 芯片技術文檔總結

    TLC6989 SPI 兼容連接使 TLC698x 器件系列能夠使用標準 SPI 控制器進行控制。該器件具有內部振蕩器,可生成 TLC698
    的頭像 發(fā)表于 08-20 10:23 ?859次閱讀
    ?<b class='flag-5'>TLC</b>6989 <b class='flag-5'>SPI</b>-Compatible Connectivity 芯片<b class='flag-5'>技術</b>文檔總結

    ?TLC69699 SPI-Compatible Connectivity 芯片技術文檔摘要

    TLC69699 SPI 兼容連接使 TLC696xx 器件系列能夠使用標準 SPI 控制器進行控制。該器件具有內部振蕩器,可生成 TLC6
    的頭像 發(fā)表于 08-20 10:14 ?852次閱讀
    ?<b class='flag-5'>TLC</b>69699 <b class='flag-5'>SPI</b>-Compatible Connectivity 芯片<b class='flag-5'>技術</b>文檔摘要

    智慧新核心,龍芯主板助力信創(chuàng)體系再升級

    信息技術飛速發(fā)展的當下,信創(chuàng)體系的自主可控與創(chuàng)新升級已成為國家戰(zhàn)略層面的關鍵任務。作為信創(chuàng)產業(yè)發(fā)展的重要基礎硬件支撐,國產工控主板正發(fā)揮著日益重要的作用。
    的頭像 發(fā)表于 08-11 09:14 ?632次閱讀

    佛瑞亞如何通過信息技術推動業(yè)務增長

    在數(shù)字化、信息化的浪潮下,信息技術已經不僅是后臺工具,更成為驅動企業(yè)發(fā)展的關鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國區(qū)信息技術總監(jiān)馬瑛,了解她和團隊如何將
    的頭像 發(fā)表于 07-29 14:00 ?824次閱讀

    飛騰主板為信創(chuàng)產業(yè)發(fā)展提高硬實力

    信息技術飛速發(fā)展的當下,信創(chuàng)產業(yè)已成為我國實現(xiàn)科技自立自強、保障國家信息安全的關鍵領域。信創(chuàng),即信息技術應用創(chuàng)新,其核心目標是實現(xiàn)
    的頭像 發(fā)表于 07-22 18:20 ?643次閱讀

    科普|信創(chuàng)是什么?一文讀懂“信息技術應用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術應用創(chuàng)新”,是國家推動IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術層面的創(chuàng)新,更承載著保障國家網絡安全、推動產業(yè)升級和實現(xiàn)數(shù)字主權的重任。簡單來
    的頭像 發(fā)表于 06-13 10:06 ?7375次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創(chuàng)新”戰(zhàn)略

    創(chuàng)浪潮下,國產主板有什么新的發(fā)展機遇?

    信息技術應用創(chuàng)新浪潮的推動下,國產主板迎來了諸多新的發(fā)展機遇。信創(chuàng)產業(yè)旨在實現(xiàn)信息技術領域的自主可控,這一戰(zhàn)略目標為國產主板的發(fā)展提供了廣
    的頭像 發(fā)表于 05-09 09:24 ?639次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發(fā)展機遇?

    tlc2543電壓低于3.5V時輸出的數(shù)就為0了,是什么原因?

    各位專家,我最近使用tlc2543存在一些問題。我才用5V基準源芯片接ref+ gnd接ref- 測量的電壓范圍是0-4V 但當電壓低于3.5V時輸出的數(shù)就為0了 請問是什么原因 當3.5V-4V之箭時,輸出的數(shù)跳變不連續(xù) 我的pcb已經做好,是否有什么可以替代的芯片 麻煩您了
    發(fā)表于 02-13 07:52

    TLC2543接收數(shù)據(jù)時采集的數(shù)據(jù)就大范圍擺動,怎么解決?

    [list] [*]專家您好,在這里向您咨詢一些問題。以下是我的驅動2543的51單片機程序,分開運行采集數(shù)據(jù)的準確性和穩(wěn)定性都很好,但是數(shù)據(jù)經由CAN總線發(fā)送,同時處理器也在接收數(shù)據(jù)時采集的數(shù)據(jù)
    發(fā)表于 02-13 06:38

    TLC2543CD在SPI低速讀取時采樣電壓不對是什么原因導致的?

    SPI程序去讀寫TLC2543C,出來的電壓就不對了,內部的(VREF+ - VREF-)/2輸出值應該是800H,但實際輸出值為完全不對,下面是時序圖。想問一下TLC2543C的應用是否有最低的
    發(fā)表于 02-10 06:27

    請問TLC2543未用的模擬輸入腳是否可以懸空?

    TLC2543未用的模擬輸入腳是否可以懸空?為什么?
    發(fā)表于 02-08 08:31