AT32 MCU

概述 

 

AT32的微控制器内置最多三个高级12位片上SAR模拟数字转换器(ADC)并提供自校准功能,用于提高环境条件变化时的ADC精度。在涉及模数转换的应用中,ADC精度会影响整体的系统质量和效率。为了提高此精度,必须了解ADC相关的运作和影响精度的原因。

SAR ADC使用一个采样电容充电至输入信号电压,SAR逻辑对此电压做数据转换。然而,这个ADC内的采样电容是由外部的信号源直接充电的,也因着采样电容值、输入阻抗、还有外部线路影响,需要一段充电稳定时间来保证对输入信号电压量测的准确性。为达到好的ADC量测,必需设置足够的采样时间。否则,前一次在某一输入通道转换所残余在采样电容上的电荷,会影响目前正在进行转换通道的准确性。ADC精度不仅取决于ADC性能和功能,还取决于ADC周围的整体应用设计。此应用笔记旨在帮助用户如何设置正确软、硬件使ADC达到准确的量测,也提供相关应用上的注意事项。

ADC的误差来源及其误差最小化办法 

 

本章列出了影响ADC转换精度的主要误差。这些类型的误差存在于所有ADC中,转换质量将取决于它们的消除情况。为便于参考,将精度误差以LSB为单位来表达。就电压而言,通过将LSB数乘以1 LSB对应的电压来计算电压误差(1 LSB=VREF+/4096或VDDA/4096)。

ADC自身误差

 

ADC自身误差为ADC本身设计和制造时所产生本体的误差,这类误差通常由以下静态参数显示:微分线性误差(DNL)、积分线性误差(INL)、偏移误差(OE)、增益误差(GE)、和总未调整误差(TUE)。AT32微控制器数据手册的ADC特性部分规定了这些误差的定义和值。其中TUE为实际和理想传输曲线间的最大偏离,此参数指定可能发生的会导致理想数字输出与实际数字输出之间最大偏离误差。(注意TUE不是DNL、INL、OE、与GE之和,它可能源自同时发生的一种或多种误差。)

AT32 ADC自校准功能可以补偿偏移误差,在ADC使用前先进行一次自校准可保证在数据手册揭示范围的任何环境条件之下,TUE小于4 LSB,也就是保证12位ADC静态准确度(accuracy)可达10位以上。

至于ADC的动态参数(如:ENOB)及其代表的误差程度,通常在语音和特定音频应用才会考虑,在一般MCU的应用场合不会太重视,在本文中也不于讨论。

ADC环境导致的误差

 

参考电压/电源噪声

由于ADC转换值为模拟信号电压(VAIN)与参考电压之比(VREF+),因此VREF+上的任何噪声都会导致转换后数字值的变化。在某些封装中,VDDA模拟电源被用作参考电压(VREF+),因此VDDA电源的质量会影响ADC误差。VREF+几十mV的波动就会造成十几LSB的误差。

就供电侧噪声而言,开关式电源模块通常内置快速切换功率晶体管,这会在输出中产生高频噪声,此切换噪声介于15 kHz至1 MHz之间,也需留意。线性稳压器的输出质量更佳。如果使用切换电源,建议使用线性稳压器供应模拟级。建议在电源线和地线之间连接具有优良高频特性的电容。应在靠近电源的位置安装一个0.1 μF和一个1至10 μF的电容。这些电容允许直流信号通过它们。小值电容过滤高频噪声,高值电容过滤低频噪声。要过滤高频噪声,还可使用与电源串联的铁氧体电感器(ferrite bead)。由于线的串行电阻极低,此解决方案导致的直流损失极低(可忽略不计),除非电流很大。

微控制器端VDD和VSS引脚的安装位置很接近,因此可以在尽量靠近的位置通过极短的引线将电容连接到微控制器。VDDA和VREF+引脚必须连接到两个外部去耦电容,100 nF陶瓷电容加上1 μF钽电容或陶瓷电容。注意数字地与模拟地应相互隔离,避免噪声串扰。

图1. 具有VREF引脚封装的电源和参考去耦

图2. 无VREF引脚封装的电源和参考去耦

GPIO输入电压电平超出常规

AT32F403系列、AT32F413系列、和AT32F415系列作为具有ADC输入功能的任一GPIO引脚,输入的电压不能超过VDD+0.3V(VDDA与VDD须同电位),否则会由芯片内部干扰ADC输入信号。只要是ADC输入功能的GPIO,即使只当I/O输入用途,如果输入的电压超过VDD+0.3V,也会干扰其它ADC通道转换结果。如果存在此种高电压,建议使用电阻分压或减压到小于VDD的电压范围。

其它AT32型号MCU则没有以上限制(例如:AT32F403A、AT32F407、AT32F421、AT32F435/437等系列),所有具有ADC输入功能的GPIO引脚都是耐5V引脚。这类引脚在未使用作ADC输入信号而作为数字输入时,需设置为浮空输入、输入上拉、或输入下拉模式,就可以输入高于VDD的电压而不干扰ADC的操作。但使用者仍需注意输入电压不可超出5.5V。但作为ADC输入使用设置为模拟模式时,则失去耐5V特性,使用者需注意输入电压不可超出VDD+0.3V。

在GPIO引脚输入负电压也会干扰ADC的转换。注意输入电压不可低于-0.3V。

模拟输入信号噪声

在采样时间内,小而高频率的信号变化可导致较大转换误差。此噪声由电气设备(例如电机、发动机点火、电源线)生成。它增加了不需要的信号,因此会影响模拟输入源信号(例如:传感器)。这样一来,导致ADC转换结果不准确。
  • 采样平均滤波

此方法是一个简单的技巧,即通过软件对模拟输入多次采样,取所有结果的均值。当模拟电压不频繁变化时,此技巧有助于消除模拟输入上的噪声。如果被测模拟信号产生不稳定的ADC值,软件运算时则可以通过剔除大值和小值,选择适当数量的待平均样本执行平均。此数量取决于需要的精度、最低转换速度。
平均滤波法的优势是可以在无任何硬件变更的情况下提高ADC精度。它的缺点是转换速度和频率响应较慢,相当于降低了有效采样频率。
平均滤波法也针对不同需求发展出各样差别,如:限幅滤波、中位值滤波、递推平均滤波、消抖滤波及其组合等等的算法。使用者可根据信号特性和芯片资源选择合适的数据平均方式。
  • 添加外部滤波器

添加外部RC滤波器以消除高频。无需使用昂贵的滤波器来处理频率分量高于所涉频率范围的信号。这种情况下,截止频率fC刚好高于所涉频率范围的相对简单的低通滤波器将足以限制噪声和混叠。使用与所涉最高频率相同的采样率足以,通常为fC的2至5倍。

但添加了外部RC滤波器时,ADC的采样时间和采样间隔都需要重新评估,否则可能造成更大的量测误差。请详细参考第3章内容。

模拟信号源阻抗的影响

在源和引脚之间的模拟信号源的阻抗或串联电阻(RAIN),可能会因为采样时流入或流出引脚的电流而导致其上的电压瞬间改变,这时ADC内部采样保持电容充满电所需要的时间会延长。如果采样时间短于将内部采样电容充分充放电所需的时间,则ADC转换的数字值会与实际值有徧差。

关于模拟信号源具有高输入阻抗特性或加入RC滤波器时,ADC的测量设置请详细参考第3章内容。

CPU生成的内部噪声

CPU(以及其他外设)操作时,会产生大量内部和外部信号变化,这些变化通过电容耦合传输到ADC外设。此类干扰影响ADC精度。

为使CPU(以及其他外设)对ADC的影响最小化,必须使采样和转换期间的数字信号变化量最小化(数字静默)。使用下列方法之一可以实现这一点(在采样和转换时间内实现):

  • 内部CPU变化量最小化(CPU停止,等待模式)

  • 停止非必要外设(计时器、通信等)的时钟
 

温度影响

温度对ADC精度有重要影响。它主要产生两种重要误差:偏移误差漂移和增益误差漂移。建议使用内部温度传感器和ADC看门狗,以在温度变化达到给定值时重新校准ADC。

I/O引脚串扰

由于I/O之间的电容耦合,切换I/O可能会在ADC的模拟输入中产生一些噪声。彼此距离很近或交叉的PCB走线可能会产生串扰。内部切换数字信号和I/O会产生高频噪声。由于电流浪涌,切换高灌电流I/O可能导致电源电压小幅下降。

PCB上与模拟输入走线交叉的数字走线可能影响模拟信号。通过让接地走线来屏蔽模拟信号,可以减少串扰产生的噪声。PCB布线时,应考虑对ADC输入信号给予屏蔽,可在信号线周围铺铜并就近接地,同时应尽量缩短走线距离。另外在ADC采样和转换时间内实现I/O引脚变化量最小化,对减小对ADC的干扰很有帮助。

 

EMI产生的噪声

邻近电路产生的电磁辐射可能在模拟信号中产生高频噪声,此时PCB走线相当于天线接收干扰噪声。使用者可以通过在可能的发射源和接收器之间提供物理隔离,或通过适当的接地和屏蔽措施对它们进行电气隔离。

沿敏感模拟信号布置接地走线,在PCB上提供屏蔽。双层PCB的另一侧也应具有接地板。这样可以防止干扰和I/O串扰影响信号。应使用屏蔽线缆将远距离信号(例如:传感器)连接到PCB或注意尽可能缩短PCB上信号的路径长度。晶振、时钟以及存在快速变化的信号线尽量远离ADC输入信号。

ADC输入源阻抗对测量的影响和正确的设置方式 

 
SAR ADC的量测要求设置足够的采样时间让ADC内采样电路充分充、放电,以获得转换的准确性。多通道间切换的使用也是同样道理,足够的采样时间可以避免输入通道间的交互干扰(crosstalk)。为了计算估计的采样时间,图3给出一个能近似ADC采样线路的等效阻值和容值(包含:模拟多工器、模拟开关、寄生电容、采样电容…等)的电路图。
图3. 输入级与ADC简化示意图 - 采样和保持电路

其中模拟信号输入源对ADC的输入阻抗(RAIN),直接与ADC采样时间有关,影响ADC转换结果甚巨。未考虑输入阻抗使得ADC输入的外部器件与软件设置的采样时间不批配,往往是造成ADC使用问题的原因。以下分别针对信号源具有一般输入阻抗或高输入阻抗,分别探讨如何正确设置ADC的软、硬件。

一般输入阻抗的测量设置

 

VC是内部CADC电容两侧的电压(请参见图4)。对于给定的采样tC,可以考虑VAIN=VREF+所对应的tC需要采样时间是最大值,因为此时CADC电容需要最多时间从0V充电到VAIN。因此,VAIN=VREF是验证最大源电阻时要考虑的最坏情况。通过软件设置增加采样时间或降低ADC时钟频率可等效加长采样时间,当采样时间越长越可以获得好的转换结果。

图4. 模拟信号源对采样和保持电路充电示意图

一般我们假设允许的最大误差等于1 LSB,照RC充放电公式:

其中Vt)带入VREF×(1-1/212)VAIN带入VREF;而时间常数τ=RAIN+RADCxCADC,采样时间大于8.32xRAIN+RADCxCADC就可达到1 LSB误差之内。若使用者要求较低的准确度,可进一步增大允许的外部电阻RAIN

高输入阻抗的测量设置

 
ADC输入信号源常有存在高阻特性。例如系统电池电压经电阻分压后输入给ADC采集,因分压电阻会形成一个直流耗电路径,为节省耗电,分压电阻串常使用100 kΩ到1 MΩ的阻值组合而成。又或者有些传感器本身为弱电流输出,通过外接一大电阻转换为电压后输入给ADC。以上硬件往往都无法以上一节方法调试出适合的采样时间,(例如软件已设置采样时间至最大值仍无法获得准确的转换值,或降低ADC时钟又使得整体采样间隔太长,)此时可以在ADC输入通道前增加运算放大器,可以提高输入驱动能力,如图5。此方案可大大缩短ADC的采样时间以及采样间隔,但缺点是增加了器件成本。另外在设计前置放大器时,必须注意可能额外产生的误差(例如额外的偏移、放大器增益稳定性或线性、频率响应)。并且若未慎选运算放大器,这些放大器的误差会成为另外测量误差的来源。
图5. ADC输入通道前增加运算放大器示意图

若硬件电路不容许增加运算放大器,无法通过提高采样时间满足要求,此时还可以采用外接电容作为电荷存储器的方法。

SAR ADC内部采样保持电容在采样开关接通后,在采保电容稳定时间内需要一个足够的充放电电流,而通常实际的信号电路若具有较高的输入阻抗,往往不能提供足够大的电流快速为ADC内采样电容充电。为此大部分的应用都采用在ADC输入管脚到地接一个外部大电容作为一个电荷存储器,即图3中的CEXT。这个电容参与采样时电路的充放电过程,以便向SAR ADC采样电容提供充足的电荷,而对内部采样电容进行快速充电,并且稳定ADC输入点的电压。此CEXT与RAIN组成的RC滤波器也顺带限制到达ADC输入端的带外噪声,同时也帮助衰减ADC输入端中开关电容频繁切换和通断的反冲噪声影响。当然此RC滤波器也限制了VAIN信号源的截止频率。

  • 计算CEXT

当采样开关接通后,会在CEXT和CADC之间有一段电荷重新分配的过程,这一段RC时间常数主要是由RADC的最大阻值和CADC的最大容值决定的。
在考虑CEXT和CADC之间电荷分配时,CPAD因为相对微小且与CEXT并联,是可以忽略的。电荷分配的算式是基于「分配前的全部电荷等于分配后的全部电荷」。
假设现在CADC是完全放电的,而CEXT储存着和VAIN一样的电压。VC(分配后的电压)定规为VAIN的0.999939倍,这个意义是VC最后徧差在VAIN的1 LSB之内,以12位解析度来记算。

例如CADC=15 pF,

CEXT=4095x15 pF=61.4 nF。
这是CEXT的绝对最小值。在实际选择器件值时必需确认考虑到器件误差和老化因素,选择大一点的值是可以的,如68 nF。如果电容值选择再大,其实对采样时间要再缩短并没有实质帮助,反而限制了ADC输入信号的频宽。
但如果一个12位的ADC配罝CEXT<4095xCADC,反而会要求相当大的采样时间让CADC充电足够。所以若CEXT<4095xCADC而且使用者若没有需要anti-aliasing滤波器的情况下,还不如不要加CEXT。若要求的精准度没有这么高,CEXT的数值可以照前面公式减小,这时ADC输入信号的频宽就增大了。相反的若要求精准度,CEXT就必须提高了,就要付出ADC采样时间间隔要拉大,ADC输入信号的频宽缩小的代价。
  • 计算RAIN

所有对外部电容CEXT充电的阻值总合程为RAIN,也就是从CEXT看到驱动信号源的等效阻值。当RAIN变大,RAIN和CEXT所型成的截止频率就会变低。这表示当输入信号开始变动到CEXT电荷稳定的这段反应时间会增加。
要准确度稳定达到12位解析度误差1 LSB之内,RC线路的时间常数要求为:
ln(212)=8.32倍。
Cext和Rain型成的截止频率为:

以前段CEXT=62 nF为例,若RAIN=200Ω,截止频率可达9.7kHz;但若RAIN=20kΩ,仅可接受97Hz。源的频率若超以上截止频率,ADC转换结果会不准确。

注意此时程序不得将ADC设定为连续模式,而应设定为单点模式或以定时器间隔触发转换,软件必 须确保两次转换之间的时间间隔等于或大于1/f
  • 采样时间不足的后果

若遵照计算CEXT的方式在ADC输入放置足够大的CEXT,要使CADC稳定所需要的时间就显得非常短。另外也只有一个情况之下可以不需要CEXT就是RAIN很小的时候。一般来说RAIN很小是因为传感器有输出缓冲极,这是RAIN都小于100Ω。以上情况采样时间都容易满足。

不足的采样时间会造成ADC通道间互相干扰。就如本文开头所讨论的,这是因为电荷从一个通道累积在CADC上并转移到另一个通道,造成通道间互相影响。

  • 信号源高阻的后果

通常造成以上所述通道间干扰的原因是因为信号源输入阻抗太高了。若要达到1 LSB的准确度,就必需在各通道转换中间加入延时,后果就是整体的转换时间变慢。

如果没有加上CEXT或着电容值太小,而采样时间又不足,ADC转换出来的结果因为通道间干扰而永远达不到1 LSB的准确度。

关于输入阻抗匹配的其他建议

 
以近期ADC朝向低功耗、高采样频率、并复杂功能的方向进行设计,ADC的采样行为已经不是如上文以一阶简易的RADC和CADC模型可以仿真的了,因此近期普遍ADC规格中只提供CADC的典型值,而不再提供RADC数值。取而代之的是ADC输入信号阻抗(RAIN)与采样时间(ts)的对应关系表,如下表所示。(下表自AT32F403A系列数据手册截取。)
表1. fADC=28MHz时的最大RAIN(1)

(1) 由设计保证。
在可以得知ADC信号源的输入阻抗时,使用者不需进行计算,只要照表格指示透过软件设置足够的采样时间,一般都会得到合理的ADC转换值。但在一般情况下,使用者常常难以直接或间接得知ADC输入信号的阻抗时,最好的方法是逐步调试软件采样时间。

使用者可以依照下述步骤调试ADC的采样时间:

  • 首先设置ADC时钟频率为最高值,并设置采样周期为最大值;
  • 尝试ADC转换并检视转换结果;
  • 若转换数值符合预期,则可逐步调试减小采样周期并观察ADC转出值,以求得足够而不过长的采样时间;
  • 若最大采样时间所得转换值不符合预期,使用者需要降低ADC时钟频率,或是照着前文计算并外加合适大小的CEXT;硬件设置完成后再修改软件设置,逐步调试出合适的采样时间及采样间隔。
另外若采样间隔时间许可时,采取一些软件技巧也会提高ADC转换的准确度,例如:
  • 采用平均法、移动平均法、或中值滤波;
  • 对同一ADC通道采样两次,将第一次的值丢弃而使用第二次的采样的值。此种方式可以消除输入源内阻过大而在不同通道切换时,上一个通道的电压来不及从采样电阻放电而累积的电荷,导 致影响下一个通道的转换值;
  • ADC输入信号大约在0VVREF+/2时,可交替转换该ADC输入通道和内部VINTRV源,也可达到让采样电阻有足够时间充放电的效果,避免通道间干扰。若有内部VSSA通道,交替转换ADC输入通道和内部VSSA通道效果会更好且省时。因为让ADC采样电路放电到VSSA比起充放电到VINTRV可以以更快的采样时间达成。
 

其它ADC应用指南 

 

内部参考电压VINTRV的设置目的与使用方式

 
内部参考电压(VINTRV)为ADC提供了一个稳定的电压输出。VINTRV内部连接到ADC1_IN17输入通道上,用于将VINTRV的输出转换为数字数值。

VINTRV是一个芯片内部的一个恒定电压信号源,按规格为1.2V±3.3%,在所有VDDA操作电压范围内都维持在此稳定电压规格内,不随VDDA电压变动而变化。因此,VINTRVADC的外部VREF+(通常与VDDA同电源)的电压未知或VVREF+电压会变动时(例如:使用电池电源),可用来参照推算出VREF+VDDA电压以及各ADC_IN输入的准确绝对电压值。

例如:选定VINTRV通道经ADC转换后数值若为1650Code_VINTRV),就可以推算出电压满格的VREF+VDDA的电压为1.2x4096/1650=2.979V。此时若另一选定的ADC_IN外部通道转换出来的数值为800Code_VAIN),就可采用以下两种计算方式:1.2x800/16502.979x800/4096,计算出此外部信号电压VAINx0.582V

以上范例使用公式如下:

VREF+VDDA=(VINTRV)x4096/(Code_VINTRV)
VAINx=(VINTRV)x(Code_VAIN)/(Code_VINTRV)
VAINx=VREF+VDDAx(Code_VAIN)/4096

使用者可以根据应用系统电源的特性,决定对VINTRV转换次数及间隔。若电源为电压未知但不变动,可于系统上电后并在ADC初始化并校正后,一次性对VINTRV转换;若电源为变动电压,就要根据电源变动速度和系统需求决定对VINTRV转换间隔,多次对VINTRV转换并更新此参照值,甚至需要对ADC重新校正。另外温度变化也可能使电源情况有改变,也可参考2.2.6节内容启动对VINTRV转换。因VINTRV为内部弱电压源,ADC进行采样时需要足够时间让VINTRV为采样电路正确充放电,使用者需确实遵照数据手册中的TS_INTRV参数为VINTRV设置足够的采样时间,以获得正确的转换数值。

围观 103

电子科技产品迭代更新,消费性产品逐步迈向智能化,且绿色环保意识提升,随写即丢的纸本已渐渐无法满足数字时代需求,数位板也就此诞生。数位板属于计算机输入设备的一种,由一块电子平板和一支电磁感应笔所组成。相较传统绘图工具,数位板能通过USB或蓝牙BLE与计算机设备连接,直接将数据传送至计算机屏幕上显示手绘效果,在作业效率及图像质感细致度上大幅提升,目前生活中,如医院、银行、电信业的电子签名,以及教育产业、创作设计等,都十分常见。

数位板采用的是电磁式感应原理,依靠电磁笔操作过程中和面板下的感应天线产生磁场变化来判别,电磁笔为信号发射端,主机中电磁感应板为信号接收端,当接近感应时磁通量发生变化,经由精密放大器放大后传送到A/D转换电路进行信号采集,通过A/D转化后由MCU读取,并且通过MCU算法,处理计算接触点的坐标,最后在PC或LCD液晶屏幕上显示。过去因手指的摩擦力太大,无法呈现较精细的笔划,同时由于数位板系统的规格大小与功能特性局限,因此开发出了电磁感应笔,用来作为手写面板与用户的媒介,笔划精确度高、反应速度快,能够实现接触点的坐标显示、图像显示及轨迹显示等功能,当用户在数位板上画图、写字或描绘图形时,通过MCU能够迅速跟踪电磁感应笔的动作,使图形完整地在PC或LCD上显示轨迹。

“雅特力AT32

雅特力AT32 MCU采用32-bit ARM® Cortex®-M4/M0+内核,具有高性能、高精度及高稳定性优势等,特别适合用来解决手写识别问题,使用上更加贴近使用者习惯,并且提供三种低功耗电源模式,包括睡眠、深睡眠和待机状态,使产品在长时间工作下,仍可维持适当的电流消耗。如超值型AT32F415系列和无线型AT32WB415系列,主频高达150MHz,最高可支持256KB Flash和32KB SRAM,同时内建USART/SPI/I2C/OTG/CAN等标准通讯接口,便于开发者连接各类无线模块、传感器等扩充产品功能,满足多种应用需求。

AT32F415系列和AT32WB415系列MCU产品应用特点

  • 丰富外设整合UART、SPI、I2C、USB OTG、CAN等多种标准通讯接口,产品应用领域广泛

  • 内建12-bit独立ADC,2Msps采样率,可同时运作,且多达8个采样高速通道,提高量测位置坐标分辨率

  • 宽电源电压范围2.6-3.6V,有助量测值恒定及提升可靠性

  • 采用BLE5.0 SoC芯片,支持蓝牙2.4GHz频段,Rx灵敏度可达到-97dBm,Tx值介于-20dBm~+4dBm之间,有效范围传输超过30m,实现高识别精度和控制功能(仅限AT32WB415系列)

  • 支持工业级别温度范围-40℃~105℃,即便处在恶劣环境下仍可长期稳定操作

  • 搭配雅特力提供丰富的开发软件工具,简单设定即可完成操作设计

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 28

概述

启动存储器(Boot Memory)默认是作为BOOT模式用来存放原厂固化的启动代码。不过,在具有AP mode系列产品上,添加了新功能,启动存储器也可以选择作为主存的扩展区(AP模式)用来存放用户自定义代码。

注意:启动存储器AP模式只能设置一次不可逆,设置后原启动存储器BOOT模式功能不可恢复。

本应用指南将介绍主存扩展的使用范例,下面以AT32F415系列为例,其中:

  • 章节2.1介绍使用Artery ICP Programmer将启动存储器开启AP模式,作为主存扩展的步骤。

  • 章节2.2介绍项目run_in_boot_memmory在启动存储器执行应用程序的示例。

  • 例程放在BSP标准库

    utilities\at32xx_boot_memmory_ap_demo\run_in_boot_memmory目录

范例程序

使用Artery ICP Programmer将启动存储器作为主存扩展使用

要使用ICP Programmer,请参照以下步骤:

  • 连接J-Link或AT-Link仿真器到AT32F415并上电;

  • 开启ICP programmer,选择用J-Link或AT-Link做连接;

  • 通过菜单栏:“设备操作”-“启动程序存储区AP模式”,如下图:

“图1.
图1. ICP操作界面
  • 为防止误操作,需按照提示手动输入启用秘钥0xA35F6D24,操作后“存储器信息”表格中会有成功或失败的提示信息。

  • 关于ICP Programmer的详细说明,请参阅ICP Programmer用户手册。

run_in_boot_memmory:在启动存储器执行应用程序

在此例程中,硬件从主存储器启动,主存储器的代码会从串口(USART1)输出信息,启动存储器中的代码会初始化LED灯并让LED2闪烁。要在启动存储器执行应用程序,需对Keil进行如下设置:

  • 设置启动存储器的起始位置及范围。

“图2.
图2. 设置bootmem地址范围到IROM2
  • 范例程序把要载入启动存储器的应用代码编写成单独的c文件,范例中是把LED灯闪烁的相关代码放在run_in_boot_memmory.c,右键点击.c文件在Options选项中将地址编到IROM2。

“图3.
图3. 选择配置c文件

“图4.
图4. 配置c文件编译地址
  • 编译后查看分散加载描述文件(scatter file),可以看到目标文件(object file) run_in_boot_memory.o放置到了启动存储器。

“图5.
图5. 分散加载描述文件
  • 添加启动存储器flash算法。

“图6.
图6. FLASH算法文件添加
  • 下载并运行后可以看到对应执行结果LED闪烁。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 22

概述

Telnet是一种应用层协定,使用于互连网及区域网中,使用虚拟终端机的形式,提供双向、以文字符串为主的命令行接口。属于TCP/IP协定族的其中之一,是Internet远端登入服务的标准协定和主要方式,常用于服务器的远端控制,可供使用者在本地主机执行远端主机上的工作。

本使用指南会介绍BSP里,telnet具体的使用方法。

硬件资源

1. DM9162以太网模块
2. AT-START-F407 V1.0实验版
3. 以太网线

软件资源

telnet, telnet源程序,运行telnet服务端程序

AT32 telnet程序设置

管脚配置

“表1.
表1. 管脚配置

LwIP设置

硬件资源只提供从PHY到MAC的信号处理,若要进行开发,则需要实作TCP/IP协议栈,在本应用中使用LwIP协议栈,该协议栈主要关注的是怎样减少减少内存的使用和程序代码的大小,这样就可以让LwIP适用于资源有限的小型平台例如嵌入式系统,更详细的内容可以访问官方网站。

由于整个协议栈已经整合到代码中,大部分的内容都无须修改,使用者只要根据自己的网段去设定IP地址及闸口地址即可,这两个全局变量宣告在netconf.c的上头。

“图1.
图1. 配置芯片的IP地址

telnet project设置

在始能LwIP之后,呼叫helloworld_init(), 即可始能telnet server, 通常telnet协议使用的是23端口,代码中默认值也是23。

“图2.
图2. 初始化telnet服务器

上位机配置

1) 设定上位机的IP地址、网路屏蔽及闸口,IP地址与闸口需要跟芯片设置在同一个网段下。

2) 打开PC端的客户端软件,这里使用Teraterm为例,在主机栏里输入MCU端设置的IP,服务选择Telnet, TCP端口填入MCU端设置的端口,协定选择IPv4。

3) 连线建立后,会出现以下画面,询问用户名称,在此画面输入用户名称,但输入名称不会即时显示在画面上,输入完成后,按下回车键即可显示用户名称。

“图3.
图3. 设置PC端的IP、网路屏蔽及闸道器

“图4.
图4. 打开Teraterm

“图5.
图5. 连线建立成功

“图6.
图6. 终端打印输入信息

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 23

概述

本使用指南展示如何使用 Magic Packet,透过ethernet将单片机唤醒,用户可基于这个功能,开发自己想添加的应用。

硬件资源

1) DM9162以太网模块
2) AT-START-F407 V1.0实验版
3) 以太网线
4) PHY上必须外挂晶振25MHz

软件资源

wake_on_lan, 远程唤醒源程序,透过魔术封包唤醒单片机

AT32 wake on LAN程序设置

管脚设置

“表1.
表1. 管脚设置

LwIP设置

硬件资源只提供从PHY到MAC的信号处理,若要进行开发,则需要实作TCP/IP协议栈,在本应用中使用LwIP协议栈,该协议栈主要关注的是怎样减少减少内存的使用和程序代码的大小,这样就可以让LwIP适用于资源有限的小型平台例如嵌入式系统,更详细的内容可以访问官方网站。

由于整个协议栈已经整合到代码中,大部分的内容都无须修改,使用者只要根据自己的网段去设定IP地址及闸口地址即可,这两个全局变量宣告在netconf.c的上头。

“图1.
图1. 配置RX脚位

wake on LAN project设置

在本应用中,与其他历程不同的是,在配置完LwIP之后,整个程序就准备进入SLEEP mode, 所以除了接收器之外,其他如发送器、DMA等等相关功能都必须要关闭。此外还要开始魔术封包检测及配置外部触发,emac的远程唤醒对应到的中断线是19。

“图2.
图2. 配置外部触发及魔术封包检测

上位机配置

1. 设定上位机的IP地址、网路屏蔽及闸口,IP地址与闸口需要跟芯片设置在同一个网段下。
2. 打开PC端的发送魔术封包的工具,这里使用WakeMeOnLan, 这里需要手动输入单片机的IP
3. 唤醒之后LED开始闪烁

“图3.
图3. 设置PC端的IP、网络屏蔽及网关

“图4.
图4. 打开WakeMeOnLan

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 45

概述

iperf是用于网络性能测量和调整的广泛使用的工具。作为可以为任何网络生成标准化性能测量结果的跨平台工具,它意义重大。iperf具有客户端和服务器功能,并且可以创建数据流以测量一个或两个方向两端之间的吞吐量。典型的iperf输出包含带有时间戳的报告,其中包含已传输的数据量和测量的吞吐量。
本使用指南将以芯片端作为iperf server,PC端作为iperf client进行展示。

硬件资源

1. DM9162以太网模块
2. AT-START-F407 V1.0实验版
3. 以太网线

软件资源

iperf, iperf server源程序,运行iperf服务端程序

AT32 iperf程序设置

管脚配置

“表1.
表1. 管脚配置

LwIP设置

硬件资源只提供从PHY到MAC的信号处理,若要进行开发,则需要实作TCP/IP协议栈,在本应用中使用LwIP协议栈,该协议栈主要关注的是怎样减少减少内存的使用和程序代码的大小,这样就可以让LwIP适用于资源有限的小型平台例如嵌入式系统,更详细的内容可以访问官方网站。

由于整个协议栈已经整合到代码中,大部分的内容都无须修改,使用者只要根据自己的网段去设定IP地址及闸口地址即可,这两个全局变量宣告在netconf.c的上头。

“图1.
图1. 配置芯片的IP地址

iperf server project设置

与HTTP server相同,在始能了LwIP的TCP/IP协议栈之后,就可以配置iperf server的应用,由于是作为接受请求的一方,所以要开启一个端口等待请求进入,这边要特别注意到的一点是,iperf server的端口恒为5001, 在没有能力修改客户端程序的状况下,请勿修改服务端的端口。本例程中用户只要呼叫iperf_init()就可以始能iperf server。

“图2.
图2. iperf初始化

上位机客户端设置

1) 设定上位机的IP地址、网路屏蔽及闸口,IP地址与闸口需要跟芯片设置在同一个网段下。

2) 打开PC端的终端机,进入放置iperf主程序的文件夹,根据iperf指令的格式启动客户端,指令格式为:iperf –c [server IP] –t [test time] –I [display interval]。

3) 测试结束后,会统计全部传输数据以及平均 throughput, 可以透过 iperf 工具检测目前网络的通讯是否正常。

“图3.
图3. 设置PC端的IP、网路屏蔽及闸道器

“图4.
图4. 启动客户端

“图5.
图5. 传输数据统计

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 38

近年来,伴随着新能源车的生产制造及其对安全性较高驱动力电池的要求,高效率驱动力电池BMS愈来愈获得重视,市场占有率开始疯狂扩大。据统计,2020年我国BMS市场需求规模为97亿元,同比增长6.6%,预计2022年BMS市场规模将超120亿元,2025年预计达到160亿元以上。

众所周知,锂离子电池含有活性很高的锂金属,同时由于单节锂电池的容量密度有限,过度充电、放电,过大电流充电、放电都会破坏锂电池内部结构,影响电池使用寿命和性能,温度过高或过低也会影响活跃情况及安全性,严重者会导致锂电池燃烧、爆炸。因此,在锂电池电路中通常都会设计一套安全保护装置—BMS智能保护板,以保证电池安全,延长电池寿命,充分发挥锂电池优越性能。

“▲达锂BMS智能保护板"
▲达锂BMS智能保护板

BMS智能保护板是为大容量串联锂电池组量身打造的管理系统,具备电压采集、大电流主动均衡、过充过放过流过温保护等功能,通常由MCU、模拟前端AFE,及存储器等周边电子元器件组成,MCU作为BMS保护板的控制核心,起到了至关重要的作用。

雅特力AT32 MCU BMS智能保护板应用方案

雅特力AT32 MCU搭载Cortex-M4内核,支持CAN*2,RS-485,UART等丰富的外设接口,可实现多种通讯模式,并根据电池组的配置文件处理数据做出适当的决策。在充放电过程中,实时采集电池组中每块电池的端电压、温度、充放电电流及总电压,防止电池发生过充电或过放电现象,保护并延长电池使用寿命。在充满电时能保证各单体电池之间的电量平衡电流(三元/铁锂30±5 mA,钛酸锂20±5 mA),实现电池组各单体电池的均充,有效地改善了串联充电方式下的充电效果。

“雅特力高效能AT32

雅特力AT32 MCU以高性能、高稳定性、高性价比、低功耗的优势,在BMS保护板领域得到大量应用和量产,基于雅特力AT32F421、AT32F413的BMS保护板已广泛应用在电动两轮车/三轮车、工业无人机、仓储AGV行业车辆、房车储能、船舶设备、户外便携储能、家庭储能、商用清洁、电动低速车等场景。

雅特力AT32F413在BMS保护板应用中的优势

  • 高达200MHz CPU主频和256KB Flash,满足LED/LCD显示需求
  • 片上集成CAN*2、RS-485、UART等丰富外设接口,可实现多种通讯模式
  • CAN连接电动车控制器,提高系统稳定性和数据传输速率
  • I2C连接模拟前端AFE,可进行参数配置和实时获取数据
  • 快速ADC转换速率,及时获取电池电压电流和温度数据并作出处理,防止过充过放过流过温
  • 支持工业级别芯片工作温度范围-40~105°C,对复杂的工作环境适应性强,保障系统稳定性
  • 支持sLib安全代码库,提供核心代码保护

为提供更具竞争力的产品方案,紧跟汽车电动化、网联化、智能化发展趋势,雅特力与达锂电子展开积极合作。9月16日,雅特力副总经理黄呈俊与达锂电子常务副总裁朱峰、研发副总裁冯耀辉、采购总监黄根和就合作事宜展开交流并达成共识,双方将发挥各自的特色和优势合作共赢,提供更具竞争力的MCU和更高集成度、更精准、更安全稳定的电池管理方案。达锂作为领先的科技驱动型新能源企业,在新能源领域发展中起着举足轻重的作用,达锂BMS智能保护板具有灵敏侦测、全时智能均衡,智能通讯、实施管控,性能提升、延缓劣化,电量转移式均衡等优势。

“▲从左至右:达锂常务副总裁朱峰、雅特力副总经理黄呈俊、达锂研发副总裁冯耀辉、达锂采购总监黄根和"
▲从左至右:达锂常务副总裁朱峰、雅特力副总经理黄呈俊、达锂研发副总裁冯耀辉、达锂采购总监黄根和

关于达锂

2015年的一天,一批怀揣着绿色新能源梦想的比亚迪资深工程师创建了达锂,今天,达锂不仅能生产全球领先的各类动力、储能锂电池保护板,还能实现个性化需求定制,我们相信,未来,达锂将助力中国在新能源领域实现弯道超车,为全球能源、环境危机做出更大贡献。

目前,达锂拥有成熟的产业链,雄厚的技术实力及广泛的品牌影响,以科技创新为发展驱动力,搭建了“DALY-IPD集成产品研发管理体系”,累计获得近100项专利技术,所生产的产品先后通过ISO9001质量管理体系、欧盟CE、欧盟ROHS、美国FCC、日本PSE等认证,畅销全球130多个国家和地区。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 24

本应用入门指南主要介绍了 AT32 M4 内核系统架构,并针对 M4 内核自带的位带、硬件浮点运算单元和滴答时钟中断功能进行基础讲解和案例解析。

详阅请点击下载《AT32 MCU Cortex M4内核入门指南》

来源:雅特力
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 44

概述

使用TCP执行通讯时,会有Server与Client的差别。Server是经由开启特定的Port来等待来自Client端的连线需求;而Client端则是向Server端提出连线需求,此例程使用LwIP作为协议栈,可以使用tcp_bind(), tcp_listen()与tcp_accept()这三种系统呼叫来使Server端接受Client的连线要求。

本使用指南会分别说明TCP client与TCP server该如何与PC端通信。

硬件资源

1) AT-START-F407 V1.0实验板
2) DM9162以太网模块
3) 以太网线

软件资源

tcp_client, TCP client源程序,运行TCP客户端程序

tcp_server, TCP server源程序,运行TCP服务端程序

AT32 TCP client/server程序设置

管脚配置

表1. 管脚配置

“AT32

LwIP设置

硬件资源只提供从PHY到MAC的信号处理,若要进行开发,则需要实作TCP/IP协议栈,在本应用中使用LwIP协议栈,该协议栈主要关注的是怎样减少减少内存的使用和程序代码的大小,这样就可以让LwIP适用于资源有限的小型平台例如嵌入式系统,更详细的内容可以访问官方网站。

由于整个协议栈已经整合到代码中,大部分的内容都无须修改,使用者只要根据自己的网段去设定IP地址及闸口地址即可,这两个全局变量宣告在netconf.c的上头。

“图1.
图1. 配置芯片的IP地址

TCP client project设置

在初始化LwIP协议栈之后,就可以配置TCP client的应用了,芯片作为客户端是发出请求的一方,所以必须要配置往哪里发送数据,也就是说要知道服务端的socket。所谓的socket就是IP地址加上端口,在代码中我们宣告了几个宏定义代表服务端的socket,可以在tcp_client.h中找到TCP_SERVER_IP跟TCP_SERVER_PORT这两个宏定义,用户可以根据网段跟应用修改这两个宏。

“图2.
图2. 配置服务端的socket

确认网段与服务端一致后,下载代码到芯片上,服务器端会一秒打印一次”tcp client experiment!”,同时LED2, 3, 4也会跟着闪烁。

上位机服务端设置

1) 设定上位机的IP地址、网路屏蔽及闸口,IP地址与闸口需要跟芯片设置在同一个网段下。

2) 打开上位机端的服务器软件,这里使用网路调适助手为例。协议类型选择TCP server,本地IP地址为代码中的TCP_SERVER_IP,本地端口号为代码中的TCP_SERVER_PORT,按下连线即建立连线。

3) 连线建立后,会出现以下画面,不断打印来自TCP client的数据。

“图3.
图3. 设置PC端的IP、网路屏蔽与闸口

“图4.
图4. 设置服务器软件

“图5.
图5. 接收TCP client的数据

TCP server project设置

在初始化LwIP协议栈之后,就可以配置TCP server的应用了,芯片作为客户端是接受请求的一方,所以必须要配置在哪里接受数据,也就是说要开个端口给客户端丢数据进来。在代码中我们宣告了一个宏定义代表服务端的端口,可以在tcp_server.h中找到TCP_LOCAL_PORT这个宏定义,用户可以根据应用修改这个宏。

“图6.
图6. 服务器端口的宏定义

上位机客户端设置

1) 设定上位机的IP地址、网路屏蔽及闸口,IP地址与闸口需要跟芯片设置在同一个网段下,请参考图3。

2) 打开上位机端的服务器软件,这里使用网路调适助手为例。协议类型选择TCP client,服务器IP地址为芯片的IP地址,本地端口号为代码中的TCP_LOCAL_PORT,按下连线即建立连线。

3) 此时会出现讯息在视窗中,可以透过调试助手下方的区块输入字符串发送给服务器,服务器会响应输入的字符串到视窗中。

“图7.
图7. 设置上位机的客户端软件

图8.
图8. 显示讯息到视窗中并响应发送的字符串

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。
雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

来源:AT32 MCU 雅特力科技
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 50

页面

订阅 RSS - AT32 MCU