美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
FFC連接器

CC2652LP驅(qū)動(dòng)Δ∑ADC - ADS1261

發(fā)布日期:2022-04-28 點(diǎn)擊率:66

Other Parts Discussed in Post: ADS1261, CC2652R, ADS1261EVM, TMP116

作者:TI工程師 Yue Tang

 

 

官網(wǎng)的ADS1261驅(qū)動(dòng)采用的是相對(duì)久遠(yuǎn)的TIVA驅(qū)動(dòng)代碼架構(gòu),并且沒有提供完整工程,還存在一些小的bug,本文將闡述如何使用最新的Simplelink? Platform MCU,并基于最新的TI-RTOS架構(gòu)來驅(qū)動(dòng)ADS1261。本文的最后會(huì)給出完整的工程示例【下載】,示例稍作修改也可用于驅(qū)動(dòng)TI其它支持SPI接口的Δ∑ADC。

 

ADS126x 系列ADC是包含可編程增益放大器 (PGA) 的精密 40kSPS ΔΣ 模數(shù)轉(zhuǎn)換器 ,它包含精密的電壓基準(zhǔn),內(nèi)部故障監(jiān)控器和用于橋式傳感器的交流激勵(lì)。可以為要求最嚴(yán)苛的測(cè)量(包括稱重秤和電阻式溫度檢測(cè)器 (RTD))提供高精度單芯片解決方案。

                                                        Figure 1.      ADS1261 內(nèi)部框圖

 

 

CC2652R 是 Simplelink? 微控制器 (MCU) 平臺(tái)的一部分,該平臺(tái)包括 Wi-Fi?、低功耗 Bluetooth?、低于 1GHz、Thread、Zigbee?、802.15.4 和主機(jī) MCU,它們共用一個(gè)易于使用的通用開發(fā)環(huán)境,其中包含單核軟件開發(fā)套件 (SDK) 和豐富的工具集。借助一次性集成的 Simplelink 平臺(tái),可以將產(chǎn)品組合中的任何器件組合添加至您的設(shè)計(jì)中,從而在設(shè)計(jì)要求變更時(shí)實(shí)現(xiàn) 100% 代碼重用。

 

CC2652 Launchpad 是CC2652R對(duì)應(yīng)的開發(fā)板,包含仿真器,如您是第一次接觸,請(qǐng)參考如下步驟,來了解它的使用。

第 1 步:購(gòu)買 CC26X2R1 LaunchPad
第 2 步:下載 Simplelink CC13x2 和 CC26x2 SDK
第 3 步:開始使用 Simplelink Academy

 

本文采用IAR進(jìn)行開發(fā),相關(guān)版本信息可在對(duì)應(yīng)的SDK的release_notesxx.html中了解到,如下圖:

IAR Embedded Workbench: EWARM-8.32.2

SDK版本:simplelink_cc13x2_26x2_sdk_3_20_00_68【請(qǐng)先下載安裝后,再打開工程】

 

 

另外,使用的ADS1261EVM 也可從TI-STORE購(gòu)買到。

 

ADS1261EVM

CC2652LP

說明

/CS

DIO_30

SPI – CS 片選

SCLK

DIO_29

SPI – CLK時(shí)鐘

DIN

DIO_28

SPI – 主出從入[ 主:CC2652R, 從:ADS1261 ]

DOUT

DIO_27

SPI – 主入從出[ 主:CC2652R, 從:ADS1261 ]

/DRDY

DIO_26

ADS1261 輸出 – 數(shù)據(jù)準(zhǔn)備好指示,低有效

/RST

DIO_25

ADS1261 輸入 – 復(fù)位,低有效

STR

DIO_21

ADS1261輸入 – 啟動(dòng)轉(zhuǎn)換,高有效

/PWDN

DIO_15

ADS1261輸入 – 控制進(jìn)入低功耗模式,低有效

 

如下圖,使用杜邦線,對(duì)照上表,將ADS1261EVM(左)和CC2652LP(右)連接起來。另外,在ADS1261EVM的JP1增加一個(gè)跳線帽【黃色框】,以旁路EVM上的TM4C129。

 

                                                        Figure 2.      連線示意圖

 

基于TI-RTOS的SPI接口驅(qū)動(dòng)及單獨(dú)控制CS引腳

 

  1. 【CC26X2R1_LAUNCHXL.c】 如下結(jié)構(gòu)體中增加紅色部分代碼

GPIO_PinConfig gpioPinConfigs[] = {

……

  

   GPIOCC26XX_DIO_30 | GPIO_DO_NOT_CONFIG,

   GPIOCC26XX_DIO_15 | GPIO_DO_NOT_CONFIG,

   GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,

   GPIOCC26XX_DIO_25 | GPIO_DO_NOT_CONFIG,

   GPIOCC26XX_DIO_26 | GPIO_DO_NOT_CONFIG,

};

 

  1. 【CC26X2R1_LAUNCHXL.c】使用SPI1,并且其中的CS引腳單獨(dú)控制

const *** ***[CC26X2R1_LAUNCHXL_SPICOUNT] = {

   {

……

   },

   {

       .baseAddr           = SSI1_base,

       .intNum             = INT_SSI1_COMB,

       .intPriority       = ~0,

       .swiPriority       = 0,

       .powerMngrId       = PowerCC26XX_PERIPH_SSI1,

       .defaultTxBufValue = 0xFF,

       .rxChannelBitMask   = 1<<UDMA_CHAN_SSI1_RX,

       .txChannelBitMask   = 1<<UDMA_CHAN_SSI1_TX,

       .mosiPin           = CC26X2R1_LAUNCHXL_SPI1_MOSI,

       .misoPin           = CC26X2R1_LAUNCHXL_SPI1_MISO,

       .clkPin             = CC26X2R1_LAUNCHXL_SPI1_CLK,

       .csnPin             = PIN_UNASSIGNED, //單獨(dú)控制 E2E link

       .minDmaTransferSize = 10

   }

};

 

  1. 【CC26X2R1_LAUNCHXL.h】新增如下定義

#define CC26X2R1_LAUNCHXL_SPI1_MISO             IOID_27

#define CC26X2R1_LAUNCHXL_SPI1_MOSI             IOID_28

#define CC26X2R1_LAUNCHXL_SPI1_CLK             IOID_29

#define CC26X2R1_LAUNCHXL_SPI1_CSN             IOID_30

#define CC26X2R1_LAUNCHXL_ADS1261_PWDN         IOID_15      

#define CC26X2R1_LAUNCHXL_ADS1261_STR           IOID_21      

#define CC26X2R1_LAUNCHXL_ADS1261_RST           IOID_25      

#define CC26X2R1_LAUNCHXL_ADS1261_DRDY         IOID_26      

        

新增如下紅色項(xiàng)

typedef enum CC26X2R1_LAUNCHXL_GPIoname {

   CC26X2R1_LAUNCHXL_GPIO_S1 = 0,

   CC26X2R1_LAUNCHXL_GPIO_S2,

   CC26X2R1_LAUNCHXL_GPIO_LED_GREEN,

   CC26X2R1_LAUNCHXL_GPIO_LED_RED,

   CC26X2R1_LAUNCHXL_GPIO_TMP116_EN,

   CC26X2R1_LAUNCHXL_GPIO_SPI_FLASH_CS,

   CC26X2R1_LAUNCHXL_SDSPI_CS,

   CC26X2R1_LAUNCHXL_GPIO_LCD_CS,

   CC26X2R1_LAUNCHXL_GPIO_LCD_POWER,

   CC26X2R1_LAUNCHXL_GPIO_LCD_ENABLE,

   CC26X2R1_LAUNCHXL_GPIO_ADS1261_CS,      

   CC26X2R1_LAUNCHXL_GPIO_ADS1261_PWDN,

   CC26X2R1_LAUNCHXL_GPIO_ADS1261_STR,      

   CC26X2R1_LAUNCHXL_GPIO_ADS1261_RST,    

   CC26X2R1_LAUNCHXL_GPIO_ADS1261_DRDY,

   CC26X2R1_LAUNCHXL_GPIOCOUNT

} CC26X2R1_LAUNCHXL_GPIOName;

 

 

 

  1. 【spimaster.c】SPI初始化,基于EVM的實(shí)際情況

 

GPIO_setConfig(CC26X2R1_LAUNCHXL_GPIO_ADS1261_CS, GPIO_CFG_OUT_OD_NOPULL|GPIO_CFG_OUT_HIGH);      GPIO_setConfig(CC26X2R1_LAUNCHXL_GPIO_ADS1261_PWDN, GPIO_CFG_OUT_OD_NOPULL|GPIO_CFG_OUT_HIGH);

GPIO_setConfig(CC26X2R1_LAUNCHXL_GPIO_ADS1261_STR, GPIO_CFG_OUT_OD_NOPULL);

GPIO_setConfig(CC26X2R1_LAUNCHXL_GPIO_ADS1261_RST, GPIO_CFG_OUT_OD_NOPULL|GPIO_CFG_OUT_HIGH);

GPIO_setConfig(CC26X2R1_LAUNCHXL_GPIO_ADS1261_DRDY, GPIO_CFG_IN_PU);

 

  

   SPI_Params_init(&spiParams);

   spiParams.frameFormat = SPI_POL0_PHA1;

   spiParams.bitRate = 4000000;

   masterSpi = SPI_open(CC26X2R1_LAUNCHXL_SPI1, &spiParams);

   if (masterSpi == NULL) {

       Display_printf(display, 0, 0, "Error initializing master SPI ");

       while (1);

   }

   else {

       Display_printf(display, 0, 0, "Master SPI initialized ");

}

 

其它改動(dòng)這里不進(jìn)一步贅述,請(qǐng)通過link獲得代碼工程,自行編譯測(cè)試。

運(yùn)行代碼,參見如下串口打印信息:

 

測(cè)試代碼會(huì)循環(huán)讀寫ADS1261內(nèi)部寄存器,并會(huì)在最后讀取ADS1261內(nèi)u,其中“T:”表示CC2652 SPI口發(fā)送的數(shù)據(jù),“R:”表示CC2652 SPI口接收到的數(shù)據(jù),均為十六進(jìn)。

 

Starting the SPI master example

Master SPI initialized

 

T:4100

R:FF41

T:4224

R:FF42

T:4301

R:FF43

T:4400

R:FF44

T:4520

R:FF45

T:4605E900

R:FF4605E9

T:4700E700

R:FF4700E7

T:48002400

R:FF480024

T:49003100

R:FF490031

T:4A000E00

R:FF4A000E

T:4B001B00

R:FF4B001B

T:4C40B700

R:FF4C40B7

T:4DFF9600

R:FF4DFF96

T:4E005A00

R:FF4E005A

T:4F004F00

R:FF4F004F

T:5000DB00

R:FF5000DB

T:51FF3D00

R:FF51FF3D

T:5200F100

R:FF5200F1

T:21006C000000

R:FF21006C00F3

T:220053000000

R:FF220053240F

T:230046000000

R:FF23004601F4

T:24002D000000

R:FF24002D00F3

T:250038000000

R:FF2500382013

T:260007000000

R:FF26000705E8

T:270012000000

R:FF27001200F3

T:2800D1000000

R:FF2800D100F3

T:2900C4000000

R:FF2900C400F3

T:2A00FB000000

R:FF2A00FB00F3

T:2B00EE000000

R:FF2B00EE00F3

T:2C0085000000

R:FF2C00854034

T:2D0090000000

R:FF2D0090FF00

T:2E00AF000000

R:FF2E00AF00F3

T:2F00BA000000

R:FF2F00BA00F3

T:30002E000000

R:FF30002E00F3

T:31003B000000

R:FF31003BFF00

T:320004000000

R:FF32000400F3

T:46108200

R:FF461082

T:5200F100

R:FF5200F1

T:5000DB00

R:FF5000DB

T:51BBE600

R:FF51BBE6

T:08007F00

R:FF08007F

T:0A005500

R:FF0A0055

T:1200AA0000000000

R:FF1200AA0654B219

Tmp:27.9743

最后,關(guān)于源TIVA驅(qū)動(dòng)中的一處Bug,說明如下:

 

void writeMultipleRegisters(uint8_t addr, uint8_t count, const uint8_t data[])

{

assert( (addr + count) <= NUM_REGISTERS );


uint8_t i;

for (i = addr; i < (addr + count); i++)

{

   writeSingleRegister(addr + i, data[i]); // 第一個(gè)值將是addr+addr

}

}

 

修改為:

 

void writeMultipleRegisters(uint8_t addr, uint8_t count, const uint8_t data[])

{

assert( (addr + count) <= NUM_REGISTERS );

 

uint8_t i;

for (i = addr; i < (addr + count); i++)

{

   writeSingleRegister(i, data[i]);

}

}

 

 

下一篇: PLC、DCS、FCS三大控

上一篇: 簡(jiǎn)化您的以太網(wǎng)設(shè)計(jì),

推薦產(chǎn)品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        亚洲成av人在线观看| 日韩色在线观看| 国产精品区一区二区三含羞草| 成人久久18免费网站麻豆| 国产一区二区日韩精品| 国产激情一区二区三区| eeuss鲁一区二区三区| 91天堂素人约啪| 久久精品一区二区三区不卡免费视频| 精品无码久久久久国产| 手机成人在线| 在线观看三级视频欧美| 欧美日韩在线一区二区| 精品蜜桃在线看| 国产精品毛片无遮挡高清| 亚洲精品国产无天堂网2021| 日韩av电影免费观看高清完整版| 狠狠色丁香九九婷婷综合五月| 粉嫩av亚洲一区二区图片| 91精品国产99久久久久久红楼| 免费看污久久久| 在线观看不卡视频| 精品福利一区二区三区免费视频| 日韩一区欧美小说| 蜜臀久久99精品久久久久宅男| 国产91精品在线观看| 国产精品区免费视频| 色综合久久久久综合体| 91精品国产一区二区三区| 国产精品视频在线看| 日日嗨av一区二区三区四区| 国产精品99久| 久久精品五月婷婷| 欧美丰满少妇xxxbbb| 亚洲欧洲日韩女同| 韩日av一区二区| 国产精品国产亚洲精品看不卡15| 中文字幕日韩精品一区二区| 精品久久久久香蕉网| 亚洲一区二区三区国产| 波多野结衣中文字幕一区二区三区| 欧美久久久久久久| 欧美一区三区二区| 亚洲男同1069视频| 丁香六月久久综合狠狠色| 任我爽在线视频精品一| 精品久久久久久久久久久院品网| 洋洋av久久久久久久一区| 成人午夜激情在线| 在线观看成人av| 中文久久乱码一区二区| 国产专区综合网| 欧洲在线视频一区| 2024国产精品| 久久国产三级精品| 日本成人黄色| 久久久久久毛片| 精品一区二区在线视频| 日韩jizzz| 国产人伦精品一区二区| 激情av综合网| 色综合欧美在线视频区| 亚洲欧洲日韩综合一区二区| 成人动漫av在线| 欧美日韩一区二区在线视频| 亚洲黄色小视频| 999国内精品视频在线| 91 com成人网| 免费精品视频在线| 日韩在线观看电影完整版高清免费| 久久品道一品道久久精品| 国产专区欧美精品| 91国产丝袜在线播放| 亚洲一区二区成人在线观看| 久久久久国产精品视频| 国产日韩欧美麻豆| 成人精品高清在线| 91精品国产综合久久婷婷香蕉 | 91国偷自产一区二区三区成为亚洲经典 | 国产欧美精品区一区二区三区| 看国产成人h片视频| 日本在线成人一区二区| 亚洲同性gay激情无套| 91网站视频在线观看| 在线成人高清不卡| 国内精品自线一区二区三区视频| 中文字幕日韩精品一区二区| 亚洲高清在线精品| 无码免费一区二区三区免费播放| 自拍偷拍欧美激情| 久久精品中文字幕一区二区三区| 欧美经典一区二区| 国产精品久久精品国产| 精品国产一区二区国模嫣然| 成人激情黄色小说| 欧美mv和日韩mv的网站| 国产精品亚洲一区二区三区妖精 | 国产日韩欧美一区二区三区综合| 99天天综合性| 久久免费看少妇高潮| k8久久久一区二区三区| 久久综合九色综合久久久精品综合| 国产成人av电影在线观看| 欧美一区二区三区日韩| 成人午夜大片免费观看| 久久综合狠狠综合| 99久久免费国| 亚洲欧美国产高清| 亚洲国产精品久久久久久女王| 亚洲小少妇裸体bbw| 午夜精品亚洲一区二区三区嫩草 | 99久久综合精品| 久久久电影一区二区三区| 国产传媒一区| 亚洲乱码一区二区三区在线观看| 日本免费高清一区| 日本午夜精品视频在线观看 | 午夜欧美电影在线观看| 在线视频中文字幕一区二区| 韩国视频一区二区| 2020国产精品久久精品美国| 国产欧美日韩伦理| 亚洲影视资源网| 欧美性猛交xxxxxxxx| 国产91丝袜在线播放0| 国产欧美日本一区视频| 日本在线观看一区二区| 美国毛片一区二区| 欧美大片国产精品| 久久精彩视频| 美女视频一区二区| 26uuu精品一区二区三区四区在线| 国产日韩一区二区三区| 午夜精品久久久久久不卡8050| 欧美男女性生活在线直播观看| **亚洲第一综合导航网站| 亚洲色图在线播放| 欧美午夜寂寞影院| 波多野结衣一区二区三区在线观看 | 中文字幕欧美人与畜| 国产精品888| 中文字幕亚洲精品在线观看| 亚洲一区二区三区午夜| 成人小视频在线观看| 亚洲精品福利视频网站| 欧美三电影在线| 国产不卡一区二区三区在线观看| 偷拍一区二区三区| 久久天天做天天爱综合色| 亚洲国产精品综合| jizz一区二区| 亚洲一区在线看| 欧美电影免费观看高清完整版在线| 精品国产一区二区三区免费| 美女视频黄 久久| 中文字幕精品综合| 欧美色爱综合网| 国产在线欧美日韩| 国产精品一品二品| 一级特黄大欧美久久久| 欧美一级黄色片| 亚洲精品国产一区| 91亚洲国产成人精品一区二区三| 亚洲va国产天堂va久久en| 精品国产免费人成在线观看| 在线播放豆国产99亚洲| 国产精品av一区| 国产激情视频一区二区三区欧美| 亚洲综合在线免费观看| 久久五月婷婷丁香社区| 欧美无人高清视频在线观看| 欧美精品一区二区视频| 97久久超碰国产精品| 久久黄色级2电影| 亚洲黄色av一区| 久久久99免费| 日韩一二三区不卡| 在线区一区二视频| 日韩久久不卡| 国产日韩欧美亚洲一区| 成人黄色av网站在线| 久久66热偷产精品| 亚欧色一区w666天堂| 亚洲少妇30p| 中日韩av电影| 久久久精品国产免费观看同学| 欧美日韩国产区一| 色综合久久久久久久久久久| 欧美日本韩国一区二区三区| 99中文字幕| 99久久免费国产| 成人午夜激情在线| 国产成人免费xxxxxxxx| 久久成人精品无人区| 天堂va蜜桃一区二区三区| 亚洲另类在线视频| 亚洲视频狠狠干| 综合久久综合久久| 日韩毛片一二三区| 18涩涩午夜精品.www|