
第三期:2024 批次 F28335 上 ADC 读数接近满量程时跳变、ePWM 增减计数下 CBC 在 TBPRD 处重新触发、25 MHz 晶振配 DIVSEL = 3 跑 150 MHz 的越界时钟配置、CCS 载入 hex 比 .out 慢的原因,加上先楫侧第一次出现的用户实测——SEI 模拟 SWD 的第二篇与一块自研 HPM6P41 伺服板。
| 层级 | 含义 |
|---|---|
| A | 用户一手实测,型号、板卡、条件与复现过程至少写到能被人照着查 |
| B | 用户一手陈述,型号或测试条件有明显缺口 |
| C | 二手转述、市场观察或行业媒体报道,只作背景 |
| V | 厂商材料,用于核验规格与设计 |
2437-G4A-49APDYW-4478989PHI,正常的 2340-G4A-3AAC9IW-NA。1| ADC 误差项 | TI 给出的数值1 |
|---|---|
| 增益误差 | ±15 LSB |
| 失调误差 | ±15 LSB |
| 积分非线性 INL | ±2 LSB |
3890 + 14(定标增益)+ 15 + 2 = 3922;读到 4095 就超出了这颗器件应该出现的范围。12437-G4A-49APDYW-4478989PHI,正常批次 2340-G4A-3AAC9IW-NA;参考源用内部还是外部、环境温度、采样率均未披露TZCTL 让 1A 与 1B 都强制为低;CBC 位由软件置位,一处在 GPIO 外部中断的下降沿,另一处在主循环里——只要外部条件还在(引脚持续为低)就再置一次。按他对参考手册的理解,CBC 被强制之后只有计数到 0 才解除,在增减计数下这是每两个 TBPRD 一次;示波器上却看到计数到 TBPRD 时输出也重新起来了。2TBCTR = 0 自动清除。2CMPCTL.LOADAMODE 与 LOADBMODE 都设成 CC_CTR_ZERO_PRD,比较值的影子寄存器在 CTR=0 和 CTR=TBPRD 两处都会装载;装载之后,动作限定器按 AQCTLA、AQCTLB 的配置把输出重新拉起来,主循环的代码随后才再次置位 CBC。示波器上看到的那一段,产生于动作限定器事件与软件重新施加触发之间。2TZCTL 的写入放在 EALLOW/EDIS 之间。帖子没有标记解决,发帖人也没有回报改后的波形。2PLLCR = 6、DIVSEL = 3,得到 150 MHz;后来他发现数据手册不允许在 PLL 使能时取这个分频值。他想知道这套配置长期跑下去会带来什么——会不会随着温度变化或器件差异出现随机的异常。3DIVSEL = 3。这套配置把 PLL 的输出直接送进内核,占空比就没有保障。3PLLCR = 10、DIVSEL = 2。用 25 MHz 晶振、DIVSEL = 2 时,PLLCR 取到 10 也只能到 125 MHz。发帖人回了一句「We will switch to the 30 MHz」,没有给出改后的实测。3PLLCR = 6、DIVSEL = 3,SYSCLKOUT 150 MHz;发帖人只写了「目前没有明显问题」,温度、批量与运行时长均未披露adc_ex1,切到 Flash 构型,在工程属性里打开 Hex2000 并保持默认设置,编译后载入 hex;与直接载入 .out 相比,载入 hex 慢很多。4.out 里带着 COFF/ELF 的段表,调试器按段把几块连续的大块写进 flash;hex 是 ASCII 文本,要先逐行解析、把每条记录还原成二进制,而每条记录只带 16–32 字节,记录之间一旦不连续,flash 插件就退化成成千上万次小写入。他还提到 Hex Utility 的设置不像编译器与链接器选项那样被继承,默认配置可能比手工调过的更低效。4.out,hex/TI-TXT 留给外部烧录路径,比如 UniFlash、第三方编程器和 SCI/I2C/CAN 串口引导。4.out 不好做;他问真正的瓶颈在哪。4.out 载入能借链接脚本的 ALIGN 指令把 ECC 生成与编程并成大块,手工拼接容易留下没对齐的地址。他给出 TI 那篇讲「把应用与 bootloader 合成一个文件」的 FAQ,建议改用 --load_image,并把那个标志位放成正式的链接段。4.out 对比;hex 文件大小与实际耗时均未披露--load_image 后载入时间的变化DAT_1 寄存器,读到的是错的值;这一篇里他写明,DAT_CMD 是每个控制器独有的寄存器,只能通过 CTRL[x].CMD 正确读取,手册把它排在 DAT_1 的位置、定义值也一致,按寄存器序号读就会拿到错的结果。5ram.icf 让程序跑在 RAM 里之后,30 MHz 下测到写入约 1820 K、读取约 1650 K,与按 30/45*32/8 = 2.6667 M 算出的理论值仍有差距。5ram.icf、在 RAM 中运行;测速用群友的 openocd 脚本,多点多次取平均sei_restart_asynchronous_xcvr() 这类收发器重启接口;11 先楫知识库首页按分组列出的文章里,最新的一篇仍是 2026-06-04 的 EtherCAT 文档处理,没有出现新的电机控制或 ADC 文章。12 这两条按约定标 V,只用于核对 SDK 与文档的当前状态。RDATDLY 与 XDATDLY 在时钟停止模式下必须取 01b,并要求把用到的 GPIO 设成异步限定模式。15float 或 long double 都变成 0,TI 解释为 COFF 下 float 与 double 都是 32 位,常数要加 L 后缀,发帖人最后用 64 位常数乘出子正规数。16ecat_io,作者给出内部 ESC 并口方式下主中断约 5 µs、PDO 8 字节、内部 ESC 与外置 ESC 通信效率差别不大,并注明压摆率设置未知。型号属于 HPM6E00,不在本期 HPM6P00 系列的条目口径内。17bilibili.com
mp.weixin.qq.com
mp.weixin.qq.com
bilibili.com
bilibili.com
bilibili.com
github.com
kb.hpmicro.com
community.st.com
github.com
e2e.ti.com
bilibili.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.