我想问下:TMS320F28069 这颗片子是不是不如其它片子比如28035,同样是带cla功能。这款28069性能是不是不太好,比如AD采样,之类的。
我遇到一个问题,输出电压和输出电流,同样的DSP28069只是批次不一样的,效果差很大。通过更改采样通道,采样频率等问题都解决不了,换了其它批次的片子就可以了。
Green Deng:
不会啊,F28069的主频(90MHz)还比F28035(60MHz)高,理论上性能是F28069高于F28035的
你说的更换其他批次的片子,都是更换的F28069吗?还是F28069换成F28035?
user3900194:
回复 Green Deng:
都是更换F28069。理论上是28069比28035性能更好,所以我才用28069的。
我的意思是,28069在AD采样方面性能比28035差一些,28069是比28035更新,还相对不稳定一些?
还是说我这边对28069的用法不对。要是不对的话,我更换了另外一片28069,性能就非常好了。一共试用了4台,都是这样的结果。前后28609批次不一样导致的?
Green Deng:
回复 user3900194:
如果确实是换了一批次的性能就好的话只能优先考虑是芯片批次原因。但是目前TI中文E2E论坛不支持与芯片批次相关的服务,如果你有这方面的疑问的话只能考虑去英文E2E论坛上咨询一下这个问题:e2e.ti.com/…/171
Jun Zhang4:
回复 Green Deng:
我在一块F28069核心板上试过简单的AD采样,用50K可调电阻分压后直接送到ADC的一个通道,然后用16路SOC都来采样这个信号,发现SOC0的数据明显超过理论值(>10%),SOC1~SOC15与理论值相差在正常范围,然后SOC1~SOC15的数值有逐渐减小的趋势,间隔0~2个点。 F28069的Errata上面说ADC每次采样后第一次转换的通道存在问题(Rev.N,p16:Initial Conversion,这样描述:When the ADC conversions are initiated by any source of trigger in either sequential or simultaneous sampling mode, the first sample may not be the correct conversion result.)。这样说是不是ADC就只能少用一路了?
Green Deng:
回复 Jun Zhang4:
不是,这里的意思是在顺序或同时采样模式的第一个采样值可能不正确,解决方法就是①向ADCCTRL2寄存器的ADCNONOVERLAP位写入1或者②丢弃第一次soc采样的数值。
For sequential mode, discard the first sample at the beginning of every series of
conversions. For instance, if the application calls for a given series of conversions,
SOC0→SOC1→SOC2, to initiate periodically, then set up the series instead as
SOC0→SOC1→SOC2→SOC3 and only use the last three conversions, ADCRESULT1,
ADCRESULT2, ADCRESULT3, thereby discarding ADCRESULT0.
For simultaneous sample mode, discard the first sample of both the A and B channels at
the beginning of every series of conversions.
User application should validate if this workaround is acceptable in their application.
The magnitude of error is significantly reduced by writing a 1 to the ADCNONOVERLAP
bit in the ADCCTRL2 register, which only allows the sampling of ADC channels when the
ADC is finished with any pending conversion. Typically, the difference between the first
sample and subsequent samples, with ADCNONOVERLAP enabled, will be less than or
equal to four LSBs.
方法①可以参考F28069的例程C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f2806x\examples\c28\adc_soc第158行代码:
AdcRegs.ADCCTL2.bit.ADCNONOVERLAP = 1; // Enable non-overlap mode方法②可以参考F28035的例程C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f2803x\examples\c28\adc_soc第155、156行注释和第169~171行代码(通道4被启动了两次,即丢弃第一次采样的值):
// Note: Channel ADCINA4will be double sampled to workaround the// ADC 1st sample issue for rev0 silicon errataAdcRegs.ADCSOC0CTL.bit.CHSEL= 4;AdcRegs.ADCSOC1CTL.bit.CHSEL= 4;//set SOC1 channel select to ADCINA4
Jun Zhang4:
回复 Green Deng:
第1方案我试试看结果,第2种方案其实跟我理解的是一个意思,需要浪费了一个SOC来解决这个问题,而且增加了采样时间。
Green Deng:
回复 Jun Zhang4:
是,但是通道还是16个