飞思卡尔单片机 AD功能模块
- 格式:ppt
- 大小:665.50 KB
- 文档页数:35
Freescale Semiconductor, Inc.Document Number: 用户指南 Rev. 0, 09/2014Confidentiality statement, as appropriate to document/part status.___________________________________________________________________飞思卡尔单片机快速上手指南作者:飞思卡尔半导体IMM FAE 团队飞思卡尔半导体是全球领先的单片机供应商,其单片机产品包含多种内核,有数百个系列。
为支持用户使用这些产品,飞思卡尔提供了丰富的网站资源、文档及软硬件工具,另外,我们还有众多的第三方合作伙伴及公共平台的支持。
对于不熟悉飞思卡尔产品和网站的初学者来说,了解和使用这些资源这无疑是一个令人望而生畏的浩瀚工程。
本指南的目的,就是给初学者提供一个指导,让他们不被这些海量信息淹没;用户根据本指导提供的操作步骤,能迅速找到所需的资源,了解如何使用相关的工具。
在本指南中,我们以飞思卡尔的新一代Kinetis 单片机K22系列为例,介绍了如何获取与之相关的资源,如何对其进行软硬件设计和开发。
实际上,这些方法也适用于其它的单片机系列。
当然,对于其它有较多不同之处的产品,我们也会继续推出相应的文档,供广大用户参考。
目录1 如何获取技术资料与支持 ..........................................................2 2 如何选择产品、申请样片及购买少量芯片和开发工具 ........... 93 飞思卡尔单片机的开发环境、开发工具和生态系统 ............. 224 如何阅读飞思卡尔的技术文档 ................................................ 45 5 飞思卡尔单片机硬件设计指南 ................................................ 55 6飞思卡尔单片机软件开发指南 (67)飞思卡尔单片机快速上手指南, Rev. 1, 09/20142Freescale Semiconductor, Inc.1 如何获取技术资料与支持1.1 概述当用户使用飞思卡尔单片机芯片时,如何获取芯片的数据手册(Datasheet )、参考设计(Reference Manual )和官方例程等资源呢?另外当用户遇到了技术问题该如何获得帮助和解答呢?这里以Kinetis 的K22系列芯片为例为大家介绍如何解决这些问题。
飞思卡尔MC9S12XS128技术手册(AD转换部分)英文资料:飞思卡尔MC9S12XS256RMV1官方技术手册1.1 XS12系列单片机的特点XS12系列单片机特点如下:·16位S12CPU—向上支持S12模糊指令集并去除了其中的MEM, WAV, WAVR, REV, REVW 五条指令;—模块映射地址机制(MMC);—背景调试模块(BDM);·CRG时钟和复位发生器—COP看门狗;—实时中断;·标准定时器模块—8个16位输入捕捉或输出比较通道;;—16位计数器,8位精密与分频功能;—1个16位脉冲累加器;·周期中断定时器PIT—4具有独立溢出定时的定时器;—溢出定时可选范围在1到2^24总线时钟;—溢出中断和外部触发器;·多达8个的8位或4个16位PWM通道—每个通道的周期和占空比有程序决定;—输出方式可以选择左对齐或中心对其;—可编程时钟选择逻辑,且可选频率范围很宽;·SPI通信模块—可选择8位或16位数据宽度;—全双工或半双工通信方式;—收发双向缓冲;—主机或从机模式;—可选择最高有效为先输出或者最低有效位先输出;·两个SCI串行通信接口—全双工或半双工模式·输入输出端口—多达91个通用I/O引脚,根据封装方式,有些引脚未被引出;—两个单输入引脚;·封装形式—112引脚薄型四边引线扁平封装(LQFP);—80引脚扁平封装(QFP);—64引脚LQFP封装;·工作条件—全功率模式下单电源供电范围3.15V到5V;—CPU总线频率最大为40MHz—工作温度范围–40 C到125 C第十章模拟—数字转换10.1 介绍ADC12B16C是一个16通道,12位,复用方式输入逐次逼近模拟—数字转换器。
ATD的精度由电器规格决定。
10.1.1 特点·可设置8位、10位、12位精度·在停止模式下,ATD转换使用内部时钟·转换序列结束后自动进入低耗电模式·可编程采样时间·转化结果可选择左对齐或右对齐·外部触发控制·转换序列结束后产生中断·模拟输入的16个通道为复用方式·可以选择VRH、VRL、 (VRL+VRH)/2特殊转换方式·转换序列长度1到16·可选择连续转换方式·多通道扫描·任何AD通道均可配置外部触发功能,并且可选择4种额外的触发输入。
一、输入输出端口寄存器I/O接口包括PORTA、B、E、K、T、S、M、P、H、J、AD。
其中PORTA、B、E、K属于复用扩展总线接口,单片机在扩展方式下工作时,作为总线信号。
1、PORTT、S、M、P、H、JI/O寄存器PTx如果对应位数据方向寄存器DDRx为“0”,输入,读取该寄存器返回引脚值;“1”,输出,读取该寄存器返回I/O寄存器的内容。
数据方向寄存器DDRx决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。
上拉/下拉使能寄存器PERx选择使用内置上拉/下拉器件,“1”允许,“0”禁用。
中断使能寄存器PIExPORTP、H、J三个端口具有中断功能。
“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。
中断标志寄存器PIFxPORTP、H、J三个端口具有中断功能。
“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。
2、PORTA、B、E、KI/O寄存器Px若某端口的引脚被定义为输出,写入I/O寄存器中的数值会从对应引脚输出;输入,通过I/O寄存器读取对应引脚电平。
数据方向寄存器DDRx决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。
PORTE最低两位只能为输入。
上拉电阻控制寄存器PERx第7、4、1、0位分别控制K、E、B、A端口,“1”允许使用对应端口的上拉电阻,“0”禁止,复位后,PK、PE端口使能,PB、PA禁止。
二、中断系统中断控制寄存器INTCR第7位IRQE,中断电平/边沿有效选择,0为低电平有效,1为下降沿有效;第6位IRQEN,外部中断IRQ中断请求使能,0关闭,1允许。
三、PWM模块PWM允许寄存器PWME对应每一位PWMEx,1启动输出,0停止输出,读写任意时刻。
PWM预分频时钟选择寄存器PWMPRCLK为Clock A和B选择独立的预分频因子,读写任意时刻。
Clock B对应6、5、4三位,Clock A对应2、1、0三位,分别可以实现2、4、8、16、32、64、128分频。
飞思卡尔智能车电磁组分区算法介绍写在之前的话:1、⽬前我是⼀名在校学⽣,这也是我第⼀次写博客,不周之处,请多谅解;2、此算法并⾮原创,借鉴⾃⼭东德州学院第⼋届⽩杨队(PS:个⼈看法,对于⼀些⼈把别⼈的开源东西改头换⾯⼀下就说是⾃⼰的原创⾏为⼗分鄙视);3、对于此算法的理解和说明并⾮纸上谈兵,算法已经被我运⽤到了⼩车⽐赛中并取得好的成绩(具体就不多说了,⽐赛时车莫名其妙坏了,⽐赛前调试的速度绝对能进国赛,⽐较遗憾),总之这算法是我尝试过的最好的算法;4、这⼀次所介绍的只是路径算法和⼀些知识普及,后⾯有时间会介绍其余部分算法及许多好的思路(舵机电机控制思路(不只是简单的PID),双车策略);5、希望对于这⽅⾯有涉及的⼈能与我联系并交流或指出不⾜之处。
---------------------------------------------------------------分割线-----------------------------------------------------------------------------⼀、没有这⽅⾯了解的可以看看 飞思卡尔智能车分为三组:摄像头、光电、电磁,我做的是电磁车,三种车队区别在于传感器的不同,所以获得路径信息的⽅法也不⼀样,摄像头和光电识别的是赛道上的⿊线(⽩底赛道),⽽电磁车则是检测埋在赛道下的通⼊100mh电流的漆包线,摄像头和光电采⽤的是摄像头和ccd作为传感器,电磁则是⽤电感放在漆包线周围,则电感上就会产⽣感应电动势,且感应电动势的⼤⼩于通过线圈回路的磁通量成正⽐,⼜因为漆包线周围的磁感应强度不同,因此不同位置的电感的感应电动势就不同,因此就可以去确定电感位置;因此在车⼦前⾯设置了50cm的前瞻,电感布局如下(怎么发不了图⽚):分为两排,前排3个,编号0,1,2(前期还加了两个竖直电感⽤来帮助过直⾓弯,后来改为了⼋字电感);后排2个,编号3,4;现在车⼦获得了不同位置的感应电动势的⼤⼩了,但这些值是不能处理的:1、感应电动势太微弱;2、是模拟信号,信号太微弱就放⼤它;这就涉及到模拟电路的知识了,就不多说了(因为要把这讲完到PCB绘制的篇幅就⾜够写另开⼀号专门写这些⽅⾯来(PS:题外话(我的题外话⽐较多)):放⼤部分外围你设计的再好也抵不过⼀个更好的芯⽚,有两个例⼦,⼀个是我⾃⼰的:之前⽤的是NE5532,但是效果不理想,加了好多什么滤波,补偿,都⽤上,没⽤,软件⾥处理后⾯再说,后来⼀狠⼼换了AD620,感觉像是春天来了,因为它是仪⽤放⼤器,还有就是贵。
基准电压总结通常AD/DA芯片都有两个电压输入端,一个是Vcc,一个是Vref,上图所示的芯片是DAC0832,Vcc是芯片的工作电压,Vref是DA转换的基准电压,AD/DA芯片对Vcc 的要求不是很高,但对基准电压Vref的要求就比较高。
S12的VRH引脚就是AD转换的基准电压输入端,在最小系统板上通过0Ω电阻和Vcc连在了一起。
一、什么叫基准电压我们知道,AD/DA转换时需要一个电压参考值,而且要求这个参考值要稳定,这个稳定的电压参考值就叫做基准电压。
比如AD(8位)转换时,假设参考电压时5V,输入量是2V,则转换后得到的数字量就是(2/5)*255=102。
二、智能车制作过程中遇到的问题最开始我们组是利用LM2940稳压芯片输出的5V电压作为S12芯片内部AD转换的电压参考值,但采集回来的电磁信号AD值时常出现跳变,为什么?经过排除其他原因后,我们发现原因就在于基准电压不稳定,夸张地举个例子(8位AD),假设参考电压是5V,采集到的电磁模拟信号是2V,那么得到的数字量是102,但是由于某种原因参考电压突然变为4V,那么得到的数字量就突变为127,转换不准确,使得S12单片机产生误动作,要是时常发生这类突变,后果可想而知,车子根本跑不了!!!三、LM2940与MC1403芯片通过上面举的例子,我想说的是,LM2940输出的5V电压并非稳定,因为LM2940属于功率型稳压芯片,就是说其输出的电压会受流过LM2940的电流的影响,电流短时间发生较大变化时,其输出电压也会相应发生变化(1V以内,典型值是0.5V),由于挂在LM2940上的负载较多,电流值变化较大,也就是说输出电压也会变化,而AD转换需要的却是一个稳定的参考电压,显然LM2940无法满足这个条件,因此AD值跳变是肯定的;那么用哪个芯片作为基准电压更为恰当呢,答案肯定是有很多的,我们后来采用的芯片是MC1403,其输出电压很稳定,输出电压值为2.5V,关键在于即使输入电压变化较大,MC1403的输出误差也在1%以内,显然这可以满足我们AD转换所需基准电压的要求。
单片机原理及应用-S12X单片机的结构与组成单片机原理及应用S12X 单片机的结构与组成在当今的电子技术领域,单片机的应用可谓无处不在。
从智能家居到工业控制,从汽车电子到医疗设备,单片机都扮演着至关重要的角色。
其中,S12X 单片机以其出色的性能和独特的结构组成,在众多单片机中脱颖而出。
S12X 单片机是飞思卡尔(现恩智浦)推出的一款高性能 16 位单片机。
它采用了增强型的 HCS12 内核,相较于传统的 8 位单片机,具有更强的处理能力和更丰富的功能。
从硬件结构上看,S12X 单片机主要由以下几个部分组成:1、中央处理器(CPU):这是单片机的核心,负责执行指令和进行数据处理。
S12X 的 CPU 采用了 16 位的架构,具有较高的运算速度和处理能力。
2、存储器:包括程序存储器(Flash 或 ROM)和数据存储器(RAM)。
程序存储器用于存储用户编写的程序代码,而数据存储器则用于存储运行过程中的临时数据。
S12X 单片机通常具有较大的存储空间,以满足复杂应用的需求。
3、输入/输出(I/O)端口:用于与外部设备进行数据交换。
这些端口可以配置为不同的工作模式,如输入、输出、高阻态等,以适应各种接口需求。
4、定时器/计数器:用于实现定时、计数和脉冲宽度调制(PWM)等功能。
S12X 单片机通常配备多个定时器/计数器,以满足不同的定时和计数需求。
5、串行通信接口:如SCI(串行通信接口)、SPI(串行外设接口)和 IIC(集成电路间总线)等,用于与其他设备进行串行数据通信。
6、模数转换器(ADC):用于将模拟信号转换为数字信号,以便单片机进行处理。
7、脉宽调制模块(PWM):可以生成不同占空比的脉冲信号,用于控制电机、灯光等设备。
在软件方面,S12X 单片机通常使用特定的开发工具和编程语言进行编程。
常见的编程语言有 C 语言和汇编语言。
开发人员可以使用这些语言编写程序,并通过下载工具将程序烧录到单片机的存储器中。
基于单片机控制的DC—DC变换电路作者:李继强等来源:《电子技术与软件工程》2015年第22期摘要针对2015年全国大学生电子设计竞赛A题,本设计采用LM2577和LM2596分别实现系统升压和降压,采用单片机产生的PWM信号来调节降压电路实现给电池组恒流充电时电流的控制。
为了使得输出稳定,对输出进行测量,通过软件调节算法得到PWM的占空比,输出给LM358比较器,形成闭环控制。
LM2577和LM2596芯片均有过流保护的功能。
【关键词】双向DC-DC变换 LM2577 LM2596 单片机控制1 系统方案设计1.1 方案设计本方案采用单片机为主设计测控电路。
通过对DC-DC直流转换器输出电流进行监测,通过键盘输入输出电流设定信号,通过单片机输出PWM信号与LM358比较器形成比较电压,电流反馈闭环电路,从而对LM2596芯片进行控制,控制buck电路的接通关断,以保证DC-DC的变换。
升压部分直接由LM2577电路控制稳压其结构图如图1所示。
1.2 控制系统设计采用LM2577和LM2596设计升压电路和降压电路。
buck电路配合测控电路使用效果好,成本也很低,电路图也容易焊接调试。
利用单片机构成测控电路,使得我们能够更加方便的使用键盘来控制转换器输出的电压电流,通过主电路的反馈端来检测电流并采样从而调整PWM 来达到控制输出和过流保护的功能。
单片机的测控电路更加简单,所使用的元器件更少,控制更加方便,所以采用该方案。
1.2.1 升压系统DC-DC电池组放电情况下,以boost升压电路为核心电路。
精髓在于作为开关的LM2577芯片。
该芯片工作时4、5引脚接通对L1电感充电,4、5引脚关闭电感L1缓慢为电容充电。
通过4、5引脚的开通和关断,使得输出端升压。
同时2引脚是输出反馈端,使得输出电压稳定不发生变化,即起到稳压作用。
1.2.2 降压系统DC-DC转换器为电池组充电情况下,是以buck降压电路为核心电路。
hc32f460的adc例程
摘要:
1.引言
2.hc32f460的adc介绍
3.adc例程的实现
4.总结
正文:
hc32f460是一款高性能的32位单片机,内置了丰富的外设,其中ADC (模数转换器)是用于将模拟信号转换为数字信号的重要组件。
本文将详细介绍hc32f460的adc例程,以及如何实现adc功能。
首先,我们来了解一下hc32f460的adc。
它具有两个独立的12位ADC 模块,可以同时进行两个通道的模拟信号转换。
此外,adc模块还具有自动扫描功能,可以自动检测模拟信号输入并根据需要进行转换。
为了提高转换精度和速度,hc32f460的adc模块还支持多种采样模式,如连续采样、单次采样和待机模式等。
接下来,我们来看一下adc例程的实现。
这里我们以一个简单的例子为例,实现对adc模块的初始化、配置和数据采集功能。
首先,我们需要调用ADC_Init()函数对adc模块进行初始化。
这个函数会配置adc模块的工作模式、采样周期等参数。
接下来,我们需要调用ADC_Config()函数对adc模块进行配置,包括通道选择、采样模式等。
最后,调用ADC_Cmd()函数启动adc模块,并使用ADC_GetConvertedData()函数读取转换后的数字信号。
通过以上步骤,我们就可以实现对hc32f460的adc模块的控制,从而完成模拟信号到数字信号的转换。
需要注意的是,为了确保adc模块正常工作,我们还需要配置相应的时钟和复位信号。
总之,hc32f460的adc例程为我们提供了一个很好的参考,可以帮助我们快速上手并实现adc功能。