作者: 深圳工程师 Zhou Fang PGA970提供单芯片全集成LVDT(线性可变差动变压器)模拟前端采集方案,内部集成激励信号发生器;两路路独立PGA,ADC与数字解调单元进行SIN/COS信号调理;独立PGA与ADC获取温度环境温度。另外内部集成ARM M0内核可实现对传感器进行补偿,实现各种不同接口(OWI,SPI,Analog Output)的通信。 在使用CCS7.0和XDS200对PGA970进行调试与仿真时,需要参考[1]中步骤进行编译器配置。由于CCS7.0默认编译器版本与PGA970固件开发时使用的编译器版本不同,编译过程中出现警告,该警告并不会对编译结果产生直接影响,从而容易会被忽视,导致PGA970固件程序会反复进入FaultiSR()中断,固件开发无法顺利进行。本篇Blog旨在展示该问题现象,帮助开发者顺利进行PGA970的固件开发。 1. PGA970硬件配置环境与软件环境 TI提供PGA970评估模块帮助客户进行项目前期的评估和初期开发。PGA970评估模块提供两种调试模式: 1. 使用USB2ANY转接口和TI PGA970 GUI,通过USB转SPI通信对PGA970内部寄存器进行配置。该调试方法主要用于PGA970单个模块(例如:波形发生器,滤波器带宽)调试。 2. 使用XDS200仿真器,通过直接对固件代码直接进行修改和烧录,实时测试PGA970性能。在该模式下可以进行补偿算法,软件状态机流程调试等。完成后的代码可以在最后阶段烧写进PGA970 OTP,形成最终程序。 使用方法2进行PGA970开发时,需要使用CCS。下载CCS7.0后,分别根据[1][2]完成XDS200仿真器链接,PGA970工程文件导入,Target Configuration配置,之后对PGA970 Reference Firmware工程文件进行编译会得到Figure 1警告: Warning: “This project was created using a version of compiler that is not currently installed: 5.2.6 [ARM]. Another version of the compiler will be used during build: 16.9.0.LTS. See 'Help > Check for Updates' or visit CCS App Center to get the latest compilers. See 'Help > Install New Software...' to install older compilers. Alternatively, migrate the project to one of the available compiler versions by adjusting project properties.” 出现该警告的原因是PGA970 Reference Firmware是基于CCS6.0 ti-cgt-arm_5.2.6编译器进行开发。CCS7.0默认编译器为16.9.0.LTS版本。根据[4]中说明,在大多数情况下,新版本的编译器应该对老版本编译器向下兼容。同时,CCS7.0在PGA970工程项目编译完成之后,并无错误提示。在编译器端,无重要问题出现。 Figure 1 编译器编译器不匹配报警 在PGA970 Reference Firmware编译完成后,进入Debug仿真。开始仿真后,如Figure 2 Firmware程序会始终运行在FaultISR(void)中断内,进行各种尝试,始终无法跳出该中断。PGA970内M0内核工作不正常,各个模块无法进行正确配置。 Figure 2 PGA970仿真无法跳出FAULTISR()中断 Figure 3 PGA970编译器配置 此时在Project: PGA970 Reference Firmware -> Properties -> General 目录下,Compiler version为TI v16.9.0.LTS,如Figure 3所示。 二. PGA970 CCS7.0 Compiler Version更换 解决上述问题的方法就是使用5.2.6 [ARM]替换CCS7.0使用的默认编译器TI v16.9.0.LTS。步骤:
Figure 4 ARM5.2.6编译器下载 安装完成后,在Project: PGA970 Reference Firmware -> Properties -> General 目录下将”Compiler Version” 从TI v16.9.0.LTS切换为TI v5.2.6。 完成编译器修改后, 先Clean PGA970 Reference Firmware,再重新编译。编译完成后,Figure 1中的Warning消失。之后,进行Debug仿真,如Figure 5所示,Firmware成功进入main.c下的配置函数CFG_Peripheral_Config()与参数计算函数APP_Calculate_Coeff()。 Figure 5 正常情况下PGA970 Debug运行while(1) loop |
只有小组成员才能发言,加入小组>>
2983个成员聚集在这个小组
加入小组TI的DSP0049在PHS载入值跨过CMPA事件会产生丢波现象
532 浏览 0 评论
934 浏览 1 评论
1203 浏览 0 评论
657 浏览 1 评论
526 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
411浏览 29评论
1374浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
493浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
412浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
268浏览 13评论