环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

CC2652LP驅動Δ∑ADC - ADS1261

發布日期:2022-04-28 點擊率:36

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

作者:TI工程師 Yue Tang

 

 

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

 

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

                                                        Figure 1.      ADS1261 內部框圖

 

 

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

 

CC2652 Launchpad 是CC2652R對應的開發板,包含仿真器,如您是第一次接觸,請參考如下步驟,來了解它的使用。

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

 

本文采用IAR進行開發,相關版本信息可在對應的SDK的release_notesxx.html中了解到,如下圖:

IAR Embedded Workbench: EWARM-8.32.2

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

 

 

另外,使用的ADS1261EVM 也可從TI-STORE購買到。

 

ADS1261EVM

CC2652LP

說明

/CS

DIO_30

SPI – CS 片選

SCLK

DIO_29

SPI – CLK時鐘

DIN

DIO_28

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

DOUT

DIO_27

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

/DRDY

DIO_26

ADS1261 輸出 – 數據準備好指示,低有效

/RST

DIO_25

ADS1261 輸入 – 復位,低有效

STR

DIO_21

ADS1261輸入 – 啟動轉換,高有效

/PWDN

DIO_15

ADS1261輸入 – 控制進入低功耗模式,低有效

 

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

 

                                                        Figure 2.      連線示意圖

 

基于TI-RTOS的SPI接口驅動及單獨控制CS引腳

 

  1. 【CC26X2R1_LAUNCHXL.c】 如下結構體中增加紅色部分代碼

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引腳單獨控制

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, //單獨控制 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      

        

新增如下紅色項

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的實際情況

 

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 ");

}

 

其它改動這里不進一步贅述,請通過link獲得代碼工程,自行編譯測試。

運行代碼,參見如下串口打印信息:

 

測試代碼會循環讀寫ADS1261內部寄存器,并會在最后讀取ADS1261內u,其中“T:”表示CC2652 SPI口發送的數據,“R:”表示CC2652 SPI口接收到的數據,均為十六進。

 

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

最后,關于源TIVA驅動中的一處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]); // 第一個值將是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三大控

上一篇: 簡化您的以太網設計,

推薦產品

更多
主站蜘蛛池模板: 风化石头制砂机_方解石制砂机_瓷砖石子制砂机_华盛铭厂家 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 承插管件_不锈钢承插管件_锻钢高压管件-温州科正阀门管件有限公司 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | BHK汞灯-百科|上海熙浩实业有限公司 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 彩信群发_群发彩信软件_视频短信营销平台-达信通 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 暴风影音| 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 培训中心-海南香蕉蛋糕加盟店技术翰香原中心官网总部 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 锂电池生产厂家-电动自行车航模无人机锂电池定制-世豹新能源 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 户外-组合-幼儿园-不锈钢-儿童-滑滑梯-床-玩具-淘气堡-厂家-价格 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 旋转气浴恒温振荡器-往复式水浴恒温振荡器-金怡百科 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, |