当前位置:文档之家› TMS320DM642原理图

TMS320DM642原理图

MC9S12XS128 AD转换详解

A/D转换模块详解 1、A/D转换原理 A/D转换的过程是模拟信号依次通过取样、保持和量化、编码几个过程后转换为数字格式。 a)取样与保持 一般取样与保持过程是同时完成的,取样-保持电路的原理图如图16所示,由输 入放大器A 1、输出放大器A 2 、保持电容C H 和电子开关S组成,要求 A V1 * A V2 = 1。原 理是:当开关S闭合时,电路处于取样阶段,电容器充电,由于 A V1 * A V2 = 1,所以 输出等于输入;当开关S断开时,由于A 2输入阻抗较大而且开关理想,可认为C H 没有 放电回路,输出电压保持不变。 图16 取样-保持电路 取样-保持以均匀间隔对模拟信号进行抽样,并且在每个抽样运算后在足够的时间内保持抽样值恒定,以保证输出值可以被A/D 转换器精确转换。 b)量化与编码 量化的方法,一般有舍尾取整法和四舍五入法,过程是先取顶量化单位Δ,量化单位取值越小,量化误差的绝对值就越小,具体过程在这里就不做介绍了。将量化后的结果用二进制码表示叫做编码。 2、A/D转换器的技术指标 a)分辨率 分辨率说明A/D转换器对输入信号的分辨能力,理论上,n位A/D转换器能区分的输入电压的最小值为满量程的1/2n 。也就是说,在参考电压一定时,输出位数越多,量化单位就越小,分辨率就越高。S12的ATD模块中,若输出设置为8位的话,那么转换器能区分的输入信号最小电压为19.53mV。 b)转换时间

A/D转换器按其工作原理可以分为并联比较型(转换速度快ns级)、逐次逼近型(转换速度适中us级)、双积分型(速度慢抗干扰能力强)。 不同类型的转化的A/D转换器转换时间不尽相同,S12的ATD模块中,8位数字 量转换时间仅有6us,10位数字量转换时间仅有7us。 S12内置了2组10位/8位的A/D模块:ATD0和ATD1,共有16个模拟量输入通道,属于逐次逼近型A/D转换器(这个转换过程与用天平称物的原理相似)。 1、功能结构图 图17 A/D 模块功能结构图 图17所示的是A/D 模块的功能结构,这个功能模块被虚线划分成为图示所示的虚线所隔离的三个部分:IP总线接口、转换模式控制/寄存器列表,自定义模拟量。 IP 总线接口负责该模块与总线的连接,实现A/D 模块和通用I/O 的目的,还起 到分频的作用; 转换模式控制寄存器列表中有控制该模块的所有的寄存器,执行左右对齐运行和连 续扫描。 自定义模拟量负责实现模拟量到数字量的转换。包括了执行一次简单转换所需的模 拟量和数字量。 2、HCS12中A/D转化模块特点 8/10 位精度;7 us, 10-位单次转换时间.;采样缓冲放大器;可编程采样时间;左/ 右对齐, 有符号/无符号结果数据;外部触发控制;转换完成中断;模拟输入8 通道复用;模拟/数字输入引脚复用;1到8转换序列长度;连续转换模式;多通道扫描方式。 ATD 模块有模拟量前端、模拟量转换、控制部分及结果存储等四部分组成。其中模拟前端包括多路转换开关、采样缓冲器、放大器等,结果存储部分主要有8个16 位的存储器和反映工作状态的若干标志位。 A/D转换应用实例 要让ATD 开始转换工作,必须经过以下三个步骤: 1.将ADPU 置1,使ATD 启动;

飞思卡尔MC9S12XS128技术手册翻译AD

飞思卡尔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转换使用内部时钟 ·转换序列结束后自动进入低耗电模式 ·可编程采样时间 ·转化结果可选择左对齐或右对齐

MC9S12XS128终极例程

SCI程序 串行通信时MCU与外部设备之间进行通信的一种简单而有效的硬件方法。 无论用查询方式还是中断方式进行串行通信编程,在程序初始化时均必须对SCI进行初始化。初始化主要包括波特率设置、通信格式的设置、发送接收数据方式的设置等。 对SCI进行初始化,需要设置如下几部分: (1)定义波特率 一般选内部总线时钟为串行通信的时钟源。通过设置SCI波特率寄存器SCI0BD的波特率选择位SBR[12:0],来选择合适的分频系数。 (2)写控制字到SCI控制寄存器1(SCI0CR1) 设置是否允许SCI、数据长度、输出格式、选择唤醒方法、是否校验等。 (3)写控制字到SCI控制寄存器2(SCI0CR2) 设置是否允许发送与接收、是中断接收还是查询接收等。 串行通信程序如下: /** write in “Init.h” **/ #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ //void InitBusClk(void); //可以不使用锁相环 void InitSci(void); /** write in “Init.c” **/ //初始化程序 #include "Init.h" /* //------------初始化Bus Clock------------// void InitBusClk(void) { DisableInterrupts; CLKSEL=0X00; //PLLSEL 1 : Bus Clock=PLLCLK/2 // 0 : Bus Clock=OSCCLK/2 PLLCTL_PLLON=1; //开启PLL SYNR=0; //OSCCLK=16MHz REFDV=0X0F; //PLLCLK=2*OSCCLK*[(1+SYNR)/(1+REFDV]=32/16=2MHz while(!(CRGFLG_LOCK==1)); //直到LOCK=1,when PLL is ready,退出循环 CLKSEL_PLLSEL=1; //PLLSEL 1 : Bus Clock=PLLCLK/2=2MHz/2=1MHz // 0 : Bus Clock=OSCCLK/2=16M/2=8MHz } */

MC9S12XS128单片机简介

MC9S12XS128 单片机简介 1、HCS12X 系列单片机简介 Freescale 公司的16 位单片机主要分为HC12 、HCS12、HCS12X 三个系列。HC12核心是16 位高速CPU12 核,总线速度8MHZ;HCS12 系列单片机以速度更快的CPU12 内核为核心,简称S12 系列,典型的S12 总线速度可以达到25MHZ。HCS12X 系列单片机是Freescale 公司于2005 年推出的HCS12 系列增强型产品,基于S12 CPU 内核,可以达到25MHz 的HCS12 的2-5 倍性能。总线频率最高可达40 MHz。S12X 系列单片机目前又有几个子系列:MC9S12XA 系列、MC9S12XB 系列、MC9S12XD 系列、MC9S12XE 系列、MC9S12XF系列、MC9S12XH 系列和MC9S12XS 系列。MC9S12XS128 就是S12X 系列中的一个成员。 2、MC9S12XS128 性能概述 MC9S12XS128 是16 位单片机,由16 位中央处理单元(CPU12X)、128KB 程序 Flash(P-lash)、8KB RAM、8KB 数据Flash(D-lash)组成片内存储器。主要功能模块包 括: 内部存储器 内部PLL 锁相环模块 2 个异步串口通讯SCI 1 个串行外设接口SPI MSCAN 模块 1 个8 通道输入/输出比较定时器模块TIM 周期中断定时器模块PIT 16 通道A/D 转换模块ADC 1 个8 通道脉冲宽度调制模块PWM 输入/输出数字I/O 口 3、输入/输出数字I/O 口 MC9S12XS128 有3 种封装,分别为64 引脚、80 引脚、112 引脚封装。其全名分别为MC9S12XS128MAE、MC9S12XS128MAA、MC9S12XS128MAL。MC9S12XS 系列具有丰富的输入/输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ 和PORTAD 共11 个端口。端口引脚大多为复用口,往往具有多重功能,所有端口都具有通用I/O 口功能。 PORTA、PORTB、PORTK 为通用I/O 口 PORTE 中的IRO 和XIRQ 引脚可作为外部中断输入 PORTT 集成了TIM 模块功能 PORTS 集成了SCI 和SPI 模块功能 PORTM 集成了CAN 总线模块 PORTP 集成了PWM 模块功能 PORTH、PORTJ 可作为外部中断输入口 PORTAD 集成了ATD 模块功能 在MC9S12XS128 单片机中有些特殊功能可定义为多个引脚,如PWM、SCI1 模块。对于这些具有相同功能的引脚定义,由端口T 路径寄存器PTTRR 和模块路径寄存器MODRR 确定。MC9S12XS128 的 3 种封装的引脚数目不一样,所具有的通用端口的引脚和功能有

MC9S12XS128 串口操作例程

MC9S12XS128 串口操作例程 Code Warrior 4.7 Target : MC9S12XS128 Crystal: 16.000Mhz busclock: 8.000MHz pllclock:16.000MHz 本程序主要包括以下功能: 1.设置锁相环和总线频率; 2.IO口使用; 3.共四路ATD使用及显示方法。 LED计数,根据灯亮可以读取系统循环了多少次 ************************************************************** ***************************/ #include /* common defines and macros */ #include /* derivative information */ #include #include #include #pragma LINK_INFO DERIVATIVE "mc9s12xs128" #pragma CODE_SEG DEFAULT #define CR_as_CRLF TRUE // if true , you can use "\n" to act as CR/LF, // if false, you have to use "\n\r",but can get a higher speed static int do_padding; static int left_flag; static int len; static int num1; static int num2; static char pad_character; unsigned char uart_getkey(void) { while(!(SCI0SR1&0x80)) ; //keep waiting when not empty return SCI0DRL; } /* void uart_init(void) { SCI0CR2=0x0c;

MC9S12XS128学习中文精华终极版版

IO口模块程序示例 Void PORTB_Init(void){ DDRB=0xff; //PB口作输出使用,1为输出,0为输入 PORTB=0x00; //PB口数据寄存器值 } 注意:IO口要注意以下几点:(1)每个IO口的数据寄存器名可能不同(2)AN口只能作输入用(3)PH,PJ(高两位,低两位),PP可用输入中断功能使用(4)IO口作输入与输出时有不同的寄存器对应(5)IO口作复用时不能作IO 口用,相反也不行 IO口可用作:调试接口(接数码管、液晶、拨码开关等等)所以必须掌握 使用拨码开关要注意这样用; DDRB=0XFF; //输出 P ORTB=0XFF; DDRB=0X00; //输入 AD模块程序示例 Void ATD_Init(void){

ATD0CTL1 = 0x00; //8位精度,不放电 ATD0CTL2 = 0x42; //快速清除标志位,禁止外部触发,使能中断 ATD0CTL3=0x8a;//右对齐,每序列4次转换,不用FIFO,进入FreezeMode完成当前转换 ATD0CTL4 = 0x03; //采样用4个ATD周期,F(ATD)=1MHz[bus clock为8MHz] ATD0CTL5 = 0x29; //SCAN模式,单通道,通道9 ATD0DIEN = 0x00; //禁止数据输入 } Void main(void){ ATD_Init(); ……………………………………… } #pragma CODE_SEG NON_BANKED

void interrupt 22 Int_AD0(void) { DisableInterrupts; AD_wData = ATD0DR0L; //读ATD转换的寄存器值(低八位) ATD0STAT0_SCF=0; //(当AFFC为1时,写0清零;为1 时写1清零) EnableInterrupts; } 注意:ATD模块要着重注意:(1)标志位清零(比较复杂)(2)多通道转换后的储存顺序(3)精度的选择和转换速度(4) 单个通道与多通道转换的区别 定时器模块程序示例 Void Timer_Init(void){ TSCR1=0X90; //使能定时器并设置为自动清除标志TFLG1 TSCR2=0X03; //设置分频系数为8,及23

蓝宙MC9S12XS128-80最小系统板 使用说明书

Freescale系列单片机MC9S12XS128-80最小系统板 产品使用说明书 版本:Version 1.0 所有者:蓝宙电子研发部 日期:2011.07.10

目录 最小系统板简介---------------------------------------- 最小系统板特性---------------------------------------- 最小系统板结构说明------------------------------------ 安装CodeWorror调试文件-------------------------------- 安装HC(S)12(X)内核CodeWorror调试文件----------------- 使用CodeWorror IDE烧写和调试程序的方法----------------

简介: 本店MC9S12XS128最小系统板是由多年专业项目开发经验的工程师根据当前实际单片机应用产品情况以及学生学习的角度定制,经过历多版和反复测试验证。全部采用原装芯片和元器件,经典蓝板设计,PCB布局走线规范,采用高品质材料,稳定可靠,并采用回流焊工艺焊接,焊接质量高,系统板质量可靠。这里描述的9S12XS128单片机基本系统模块是针对全国大学生飞思卡尔杯智能车模竞赛设计的,采用大赛组委会推荐的80引脚器件。本开发板适用于嵌入式工程师与学生对M9S12系列单片机开发、学习,带CAN总线开发的工程项目。 MC9S12XS128微控制器产品满足了用户对设计灵活性和平台兼容性的需求,并在一系列汽车电子平台上实了可升级性、硬件和软件可重用性、以及兼容性。S12XS 系列可以经济而又兼容地扩展至带 XGate 协处理器的S12XE 系列单片机,从为用户削减了成本,并缩小了封装尺寸。S12XS系列帮助设计者迅速抓住市场机遇,同还能降低移植成本。

飞思卡尔MC9S12XS128(定时器)ECT寄存器详解

1、定时器IC/OC功能选择寄存器TIOS IOS[7..0]IC/OC功能选择通道 0 相应通道选择为输入捕捉(IC) 1 相应通道选择为输出比较(OC) 2、定时器比较强制寄存器 CFORC FOC[7..0]设置该寄存器某个FOCn位为1将导致在相应通道上立即产生一个输出比较动作,在初始化输出通道时候非常有用。 【说明】这个状态和正常状态下输出比较发生后,标志位未被置位后的情况相同。 3、输出比较7屏蔽寄存器 OC7M OC7M[7..0]OC7(即通道7的输出比较)具有特殊地位,它匹配时可以直接改变PT7个输出引脚的状态,并覆盖各个引脚原来的匹配动作结果,寄存器OC7M决定哪些通道将处于 OC7的管理之下。OC7M中的各位与PORTT口寄存器的各位一一对应。当通过 TIOS将某个通道设定为输出比较时,将OC7M中的相应位置1,对应的引脚就是输 出状态,与DDR中的对应位的状态无关,但OC7Mn并不改变DDR相应位的状 态。 【说明】OC7M具有更高的优先级,它优于通过TCTL1和TCTL2寄存器中的OMn和OLn 设定的引脚动作,若OC7M中某个位置1,就会阻止相应引脚上由OM和OL设定的动作。

4、输出比较7数据寄存器 OC7D OC7D[7..0]OC7M对于其他OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保存在寄存器OC7D中的对应位中。当OC7匹配成功后,若某个OC7Mn=1,则内部逻辑将OC7Dn送到对应引脚。OC7D中的各位与PORTT口寄存器的各位一一对 应。当通道7比较成功时,如果OC7M中的某个位为1,OC7D中的对应位将被输 出到PORTT的对应引脚。 【总结】通道7的输出比较(OC7)具有特殊的位置,在OC7Mn和OC7Dn两个寄存器设置以后,OC7成功输出后将会引起一系列的动作。比如:OC7M0=1,则通道0处在OC7的管理 下,在OC7成功后,系统会将OC7D0的逻辑数据(仅限0或者1)反应在PT0端口上。另 外,在OC7Mn置位后,相应的引脚就被设置为输出引脚,与DDRTn无关了,OC7Mn 并不改变DDR相应位的状态。 5、定时器核心计数寄存器 TCNT TCNT[15..0]XS128 Timer模块的核心是一个16位自由运行计数器(TCNT),所有输入捕捉和输出比较功能的计时信息都来源于TCNT,当定时器系统启用时,通过设置TSCR1的 TEN位,计数器从$0000开始,每经过一个模块时钟加1,直到加到$FFFF,然后自动 溢出为$0000并继续计数.16位自由记数器的当前值保存在两个8位寄存器中,高 的存在TCNTH,低的存在TCNTL中.综合这两个寄存器就形成TCNT.定义TCNT的 话,要定义为word型。 【说明】这里的模块时钟指的是,经过分频后的ECT模块所用的时钟,分频系数在TSCR2的低三位。TCNT是一个递增的计数器,有很多人一直把它当做是递减的计数器。总之,TCNT就是对ECT时钟进行计数的。

MC9S12XS128单片机简介

MC9S12XS128单片机简介 1、HCS12X系列单片机简介 Freescale 公司的16位单片机主要分为HC12 、HCS12、HCS12X三个系列。HC12核心是16位高速CPU12核,总线速度8MHZ;HCS12系列单片机以速度更快的CPU12内核为核心,简称S12系列,典型的S12总线速度可以达到25MHZ。HCS12X系列单片机是Freescale 公司于2005年推出的HCS12系列增强型产品,基于S12 CPU内核,可以达到25MHz的HCS12的2-5倍性能。总线频率最高可达40 MHz。S12X系列单片机目前又有几个子系列:MC9S12XA系列、MC9S12XB系列、MC9S12XD系列、MC9S12XE系列、MC9S12XF 系列、MC9S12XH系列和MC9S12XS系列。MC9S12XS128就是S12X系列中的一个成员。2、MC9S12XS128性能概述 MC9S12XS128是16位单片机,由16位中央处理单元(CPU12X)、128KB程序Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash)组成片内存储器。主要功能模块包括: 内部存储器 内部PLL锁相环模块 2个异步串口通讯 SCI 1个串行外设接口 SPI MSCAN 模块 1个8通道输入/输出比较定时器模块 TIM 周期中断定时器模块 PIT 16通道A/D转换模块 ADC 1个8通道脉冲宽度调制模块 PWM 输入/输出数字I/O口 3、输入/输出数字I/O口 MC9S12XS128 有3种封装,分别为64引脚、80引脚、112引脚封装。其全名分别为MC9S12XS128MAE、MC9S12XS128MAA、MC9S12XS128MAL。MC9S12XS系列具有丰富的输入/输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ和PORTAD共11个端口。端口引脚大多为复用口,往往具有多重功能,所有端口都具有通用I/O口功能。

MC9S12XS128 ADC操作例程

MC9S12XS128 ADC操作例程 Code Warrior 4.7 Target : MC9S12XS128 Crystal: 16.000Mhz busclock:16.000MHz pllclock:32.000MHz 本程序主要包括以下功能: 1.设置锁相环和总线频率; 2.IO口使用; 3.共四路ATD使用及显示方法。 LED计数,根据灯亮可以读取系统循环了多少次 ************************************************************** ***************************/ #include /* common defines and macros */ #include /* derivative information */ #include "LQprintp.h" #pragma LINK_INFO DERIVATIVE "mc9s12xs128" #pragma CODE_SEG __NEAR_SEG NON_BANKED void interrupt 20 SCI0_ISR(void) { SCI0CR2_RIE=0; //此处为串口中断需要处理的事情 uart_putchar(uart_getkey()); PORTA_PA0=~PORTA_PA0; SCI0CR2_RIE = 1; } #pragma CODE_SEG DEFAULT //----------------------------------------------------- void setbusclock(void) { CLKSEL=0X00; //disengage PLL to system PLLCTL_PLLON=1; //turn on PLL SYNR=1; REFDV=1; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=32MHz; _asm(nop); //BUS CLOCK=16M _asm(nop); while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;

MC9S12XS128_中文手册

第一章端口整合模块 端口A,B和K为通用I/O接口 端口E整合了IRQ,XIRQ中断输入 端口T整合了1个定时模块 端口S整合了2个SCI模块和1个SPI模块 端口M整合了1个MSCAN 端口P整合了PWM模块,同时可用作外部中断源输入 端口H和J为通用I/O接口,同时可用作外部中断源输入 端口AD整合了1个16位通道ATD模块 大部分I/O引脚可由相应的寄存器位来配置选择数据方向、驱动能力,使能上拉或下拉式装置。 当用作通用IO口时,所有的端口都有数据寄存器和数据方向寄存器。 对于端口T,S,M,P,H,和J有基于每个针脚的上拉和下拉控制寄存器。对于端口AD有基于每个针脚的上拉寄存器。 对于端口A、B、E和K,有一个基于端口的上拉控制寄存器。

对于端口T,S,M,P,H,J,和AD,有基于每个针脚的降额输出驱动控制寄存器。 对于端口A,B,E,和K,有一个基于端口的降额输出驱动控制寄存器。对于端口S、M,有漏极开路(线或)控制寄存器。 对于端口P、H和J,有基于每个针脚的中断标志寄存器。 纯通用IO端口共计有41个,分别是: PA[7:0] PB[7:0] PE[6:5] PE[3:2] PK[7,5:0] PM[7:6] PH[7:0](带中断输入) PJ[7:6](带中断输入) PJ[1:0](带中断输入)

第二章脉冲宽度调制模块 XS128具有8位8通道的PWM,相邻的两个通道可以级联组成16位的通道。PWME:: PWME PWM通道使能寄存器。PWMEx=1将立即使能该通道PWM波形输出。若两个通道级联组成一个16位通道,则低位通道(通道数大的)的使能寄存器成为该级联通道的使能寄存器,高位通道(通道数小的)的使能寄存器和高位的波形输出是无效的。 PWMPOL PWMPOL:: PWM极性寄存器。PPOLx=1,则该通道的周期初始输出为高电平,达到占空比后变为低电平;相反,若PPOLx=0,则初始输出为低电平,达到占空比后变为高电平。 PWMCLK:: PWMCLK PWM时钟源选择寄存器。0、1、4、5通道,PCLKx=0使用Clock A,PCLKx=1使用Clock SA;2、3、6、7通道,PCLKx=0使用Clock B,PCLKx=1使用Clock SB。 Clock A、Clock B由下面的PWMPRCLK设置。PWMPRCLK:: PWMPRCLK

基于MC9S12XS128 的BootLoader设计

基于MC9S12XS128 的BootLoader 设计 前言 接触飞思卡尔芯片大概有4个月的时间了,对这款16位寄存器有了一定的了解,但是因为飞思卡尔单片机的资料特别少,bootloader相关资料几乎没有,为此写下这篇设计书,方便大家学习参考交流,其中有不对的地方还请大家批评指正。本设计书主要讲解bootloader的实现过程,需对飞思卡尔16位单片机有一定的基础,了解该系列芯片的开发环境CodeWarrior5.1。 一、BootLoader的基石Prm 文件 我们在用CodeWarrior创建一个工程后会产生很多文件,其中有一个连接用的Prm文件,他的位置如图1.1所示。 图1.1 Codewarrior的Prm文件是用来划分代码段、数据段的,这类似于liunx中的连接脚本文件。程序一开始是进行初始化,然后跳转到main函数执行的,这段代码全部放在了ROM_C000处,而ROM_C000对应的地址是0xC000 到0xFEFF,具体实现代码如图1.2所示。第一部分是指明ROM_C000对的地址,第二部分是指明代码所存放的位置是ROM_C000。 我们知道bootloader和app必须在不同的ROM区域,bootloader接收到上位机发送的程序,先将其存储,后再跳转到app位置执行,所以prm文件可以帮我们实现bootloader与app程序的分离。 具体实现方法如下: 1、将原来的ROM_C000分成两个部分,ROM_BootLoader和ROM_App,因为bootloader代码较小需要保护,所以将其地址设置成0xf000-0xfeff,App的地址设置成0xc000-0xefff,这样这两块的总地址大小正好是原ROM_C000的大小。

mc9s12xs128程序教程

第一讲:HCS12原理及应用--PWM模块介绍 时间:2009-11-25 22:51来源:电子设计吧作者:dzsj8 点击:1115次该教程以MC9S12DG128单片机为核心进行讲解,全面阐释该16位单片机资源。本文为第一讲,开始介绍该MCU的PWM模块。 PWM 调制波有8个输出通道,每一个输出通道都可以独立的进行输出。 ,一个周期控制寄每一个输出通道都有一个精确的计数器(计算脉冲的个数) 存器和两个可供选择的时钟源。每一个P WM 输出通道都能调制出占空比从0—100% 变化的波形。 PWM 的主要特点有: 1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。 2、每一个输出通道都有一个精确的计数器。 3、每一个通道的P WM 输出使能都可以由编程来控制。 4、PWM 输出波形的翻转控制可以通过编程来实现。 5、周期和脉宽可以被双缓冲。当通道关闭或PWM 计数器为0 时,改变周期和脉宽才起作用。 6、8 字节或16 字节的通道协议。 7、有4个时钟源可供选择(A、SA、B、SB) ,他们提供了一个宽范围的时钟频率。 8、通过编程可以实现希望的时钟周期。 9、具有遇到紧急情况关闭程序的功能。 10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。(责任编辑:dzsj8) 第2讲:HCS12原理及应用--PWM寄存器说明1 时间:2009-11-25 22:56来源:电子设计吧作者:dzsj8 点击:902次 1、PWM启动寄存器PWME PWME 寄存器每一位如图1所示: 复位默认值:0000 0000B 图1 PWME 寄存器 每一个PWM 的输出通道都有一个使能位P WMEx 。它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。当任意的P WMEx 位 置1,则相关的P WM 输出通道就立刻可用。

mc9s12xs128内存详解

Freescale Semiconductor Application Note Document Number: AN3497 Rev. 0, 07/2007 Contents 1Introduction The S12XS family is a next generation, cost competitive MCU solution targeting existing S12 customers and emerging markets. The S12XS family features a power- and code-efficient 16-bit core, on-board data flash (D-flash), an on-board frequency-modulated PLL, and offers flexibility and compatibility with the fully featured S12XE family. Target applications include smart junction boxes, seat controllers, HV AC, low-end engine control, body ECU, RKE receiver, door modules, and steering modules. The S12XS is pin compatible and emulatable with the XE family. Key features of the XE-family that are not included on XS family are: XGATE coprocessor, memory protection unit, and advanced emulated EEPROM functionality. The S12XE and S12XS families give customers flexibility from 64K up to 1M flash and packages from 64LQFP to 208MapBGA.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2Overview of S12XS Family . . . . . . . . . . . . . . . . . . . . . . . 2 3Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1P-Flash (Program Flash). . . . . . . . . . . . . . . . . . . . . 3 3.2D-Flash (Data Flash). . . . . . . . . . . . . . . . . . . . . . . . 4 3.3RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5Port Integration Module (PIM). . . . . . . . . . . . . . . . . . . . . 6 6Part IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 S12XS Family Compatibility Considerations by:Lela Garofalo TSPG

MC9S12XS128-AD转换详解知识讲解

M C9S12X S128-A D转 换详解

A/D转换模块详解 1、A/D转换原理 A/D转换的过程是模拟信号依次通过取样、保持和量化、编码几个过程后转换为数字格式。 a)取样与保持 一般取样与保持过程是同时完成的,取样-保持电路的原理图如图16所示,由输入放大器A1、输出放大器A2、保持电容C H和电子开关S组成,要求 A V1 * A V2 = 1。原理是:当开关S闭合时,电路处于取样阶段,电容器充电,由于 A V1 * A V2 = 1,所以输出等于输入;当开关S断开时,由于 A 2输入阻抗较大而且开关理想,可认为C H 没有放电回路,输出电压保持不 变。 图16 取样-保持电路 取样-保持以均匀间隔对模拟信号进行抽样,并且在每个抽样运算后在足够的时间内保持抽样值恒定,以保证输出值可以被A/D 转换器精确转换。 b)量化与编码 量化的方法,一般有舍尾取整法和四舍五入法,过程是先取顶量化单位Δ,量化单位取值越小,量化误差的绝对值就越小,具体过程在这里就不做介绍了。将量化后的结果用二进制码表示叫做编码。 2、A/D转换器的技术指标 a)分辨率

分辨率说明A/D转换器对输入信号的分辨能力,理论上,n位A/D转换器能区分的输入电压的最小值为满量程的1/2n 。也就是说,在参考电压一定时,输出位数越多,量化单位就越小,分辨率就越高。S12的ATD模块中,若输出设置为8位的话,那么转换器能区分的输入信号最小电压为 19.53mV。 b)转换时间 A/D转换器按其工作原理可以分为并联比较型(转换速度快ns级)、逐次逼近型(转换速度适中us级)、双积分型(速度慢抗干扰能力强)。 不同类型的转化的A/D转换器转换时间不尽相同,S12的ATD模块中,8位数字量转换时间仅有6us,10位数字量转换时间仅有7us。 S12内置了2组10位/8位的A/D模块:ATD0和ATD1,共有16个模拟量输入通道,属于逐次逼近型A/D转换器(这个转换过程与用天平称物的原理相似)。 1、功能结构图 图17 A/D 模块功能结构图 图17所示的是A/D 模块的功能结构,这个功能模块被虚线划分成为图示所示的虚线所隔离的三个部分:IP总线接口、转换模式控制/寄存器列表,自定义模拟量。

相关主题
文本预览
相关文档 最新文档