飞思卡尔MC9S12C中文介绍以及简单编程编程

飞思卡尔MC9S12C中文介绍以及简单编程编程
飞思卡尔MC9S12C中文介绍以及简单编程编程

Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

TM

Freescale MC9S12C64

介绍及编程练习

Terry Tian R63492@https://www.360docs.net/doc/c64420695.html,

2005.12TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 1

8/16/32-位内核定位

能PowerPC

Hawk MCU

56F8300

功能

MAC7x00

(ARM 7)

S12X

HCS12

S08

HC08

发动机管理

信息娱乐

底盘/电机控制

中/高级车身控制

安全/ 仪表/ 音响

HV AC(空调)/ ISU

CAN & LIN 主节点

低端CAN

LIN 从节点TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 2

MC3S12R64

ROM 1xCAN (No EE)

MC9S12B256

1x msCAN

128K

32K

256K

MC9S12Dx128

2-3x msCAN

MC9S12D64

1x msCAN

MC9S12C32

1x msCAN

64K

Existing

In Development

In Planning

Memory

Size

2004 2001

S12X - NeXt Generation Enhanced S12 CPU + DMA 128K-1MB @ 40-50MHz 144pin/112/80 pin

S12X -NeXt Generation Enhanced S12 CPU + DMA 128K-1MB @ 40-50MHz 144pin/112/80 pin

2002 2003

512K

MC9S12H256

Stepper, LCD

MC9S12Dx256

3 x msCAN

MC9S12DP512

5x msCAN

MC3S12R_128

ROM 1xCAN (No EE)

MC9S12B64

1x msCAN

MC9S12B128

1x msCAN

MC9S12D32

1x msCAN

MC3S12C128

1 x msCAN

MC3S12C96

1 x msCAN

MC3S12C64

ROM 1 x msCAN

MC9S12C128

1 x msCAN MC9S12C96

1 x msCAN MC9S12C64

1 x msCAN

C & Q系列:

管脚少, 成本低

3 / 5v

16-128K @ 16 - 25MHz

80 / 52 / 48pin

MC9S12DB64

D128+ByteFlyte

MC9S12DB128

D128+ByteFlyte

MC9S12H128

Stepper, LCD

D 系列:

资源丰富,

性能强大

32- 512K @ 25MHz

112pin / 80pin

H系列:

仪表专用

32-256K @ 16MHz

144pin / 112pin

)

MC9S12KG256

(ECC Option)

MC9S12GC16

CAN-less

MC9S12Q128-32

Ultra Low Cost

B 系列:

外设简化,管脚与D系列兼容

64-256K @ 16-25MHz

112pin / 80pin

P

i

n

C

o

m

p

a

t

These represent Freescale Semiconductor's current proposed product development plans, and are

subject to change

9S12HZ128/64/32

PSD, LCD Stepper

MC9S12HZ256

PSD, LCD Stepper

MC3S12H128

ROMTM Freescale Semic onductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 3

MC9S12汽车系列路线图

C,GC & Q Family

Low Pin count, Low Cost

16k – 128k Flash and ROM

48-80 pin

B Family

Reduced Peripheral Version of D-Family

64k – 256k Flash with ROM support

80-112 pin

D Family

Feature rich high performance

32k – 512k Flash with ROM support

80-112 pin

S12X D & A

Enhanced S12 CPU

80-114 pin

H Family

Application Specific Clusters

64k – 256k Flash

112-144 pin

K Family

D Family with ECC

128k – 256k Flash

112-144 pin

Functionality

Application

Specific

D 系列之衍生

具有编码纠错功能的FLASH

可靠性更高

内嵌步进马达驱动LCD 驱动

专门针对于汽车仪表

低成本S12

完全可裁减系列

D系列的简化版

与D系列引脚完全兼容

高性能的16位MCU

FLASH最大达512k CAN模块最多5个

采用XGate DMA 模块

高速–高性能TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 4

HC9S12C Family

特性/优点

? 内嵌FLASH和CAN的低成本器件

–S12系列的低端产品

– 16-位的性能8-位的价格

? 引脚/封装

– 48/52 LQFP

–80 QFP, 与B&D 系列引脚兼容

–Flash从16K-128K,易于产品升级

? 8通道10位AD

– 7μsec, 10-bit 单次转换时间, 具有扫描模式

KBI KBI

8 8- -ch 10 ch 10- -Bit Bit

ADC ADC

BDM BDM

HCS12 CPU HCS12 CPU

16MHz 16MHz

8 8- -ch 16 ch 16- -Bit Bit

Timer Timer

128K Flash 128K Flash

4K RAM 4K RAM

CRG CRG

SPI SPI

48/52 LQFP

80QFP

SCI SCI

CAN CAN

60 GPIO 60 GPIO

Flash/ ROM* RAM EEPROM Speed SCI SPI IIC Vcc I/O CAN ADC

Package

(Pin)

C128 128K / 128k* 4K - 16MHz (25MHz option) 1 1 - 3-5V 31 - 60 1 8-ch 10-bit 48 / 52 / 80

C96 96K / 96K* 4K - 16MHz (25MHz option) 1 1 - 3-5V 31 - 60 1 8-ch 10-bit 48 / 52 / 80

C64 64K / 64k* 4K - 16MHz (25MHz option) 1 1 - 3-5V 31 - 60 1 8-ch 10-bit 48 / 52 / 80

C32 32K / 32K* 2K - 16MHz (25MHz option) 1 1 - 3-5V 31 - 60 1 8-ch 10-bit 48 / 52 / 80

GC32 32K 2K - 16MHz (25MHz option) 1 1 - 3-5V 31 - 60 0 8-ch 10-bit 48 / 52 / 80

GC16 16K 2K - 16MHz (25MHz option) 1 1 - 3-5V 31 - 60 0 8-ch 10-bit 48 / 52 / 80 TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 5

S12 C-系列更新…

–市场表现出色,给人崭新印象的入门级C-系列…

–16 位的性能8 位的价格–弥补S12 在$2.00 以下的缺憾

–3-5V 工作电压

–封装从小型的48 QFP (7x7mm) 到标准的80 QFP (与S12D & B兼容)

– 9S12C64/96/128 已经通过质量测试

–*ROM系列(所有CAN 版本) 将使S12入门级更低

– ROM Production targeted for 3Q05 (all versions). Exact schedule TBD.

–不带CAN的9S12GC16/32/64/128量产,价格更低!与C32/64/96管脚兼容

应用范围:

车身控制,ABS,EPS,座椅控制,空调TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 6

MC9S12Q系列

Part No Flash ROM RAM CAN SCI SPI TIMER ADC PWM Package

S12Q128 128k - 4k 1 1 1 6ch 16 bit 8ch 10bit 4 Ch 80, 52, 48 QFP

S12Q96 96k - 3k 1 1 1 6ch 16 bit 8ch 10bit 4 Ch 80, 52, 48 QFP

S12Q64 64k - 2k 1 1 1 6ch 16 bit 8ch 10bit - 52, 48 QFP

S12Q32 32k - 1k 1 1 1 6ch 16 bit 8ch 10bit - 52, 48 QFP

S12Q128 - 128k 4k 1 1 1 6ch 16 bit 8ch 10bit 4 Ch 80, 52, 48 QFP

S12Q96 - 96k 3k 1 1 1 6ch 16 bit 8ch 10bit 4 Ch 80, 52, 48 QFP

S12Q64 - 64k 2k 1 1 1 6ch 16 bit 8ch 10bit - 52, 48 QFP

S12Q32 - 32k 1k 1 1 1 6ch 16 bit 8ch 10bit - 52, 48 QFP

Q Family Q Family MCU’s MCU’s

特点/优点:

?低成本

?基于S12C-系列

?增强型msCAN 12

?增强型SCI 用于LIN

? SPI

? 8 or 16 MHz Up to 4K RAM Up to 4K RAM

Up to 128K Up to 128K

FLASH/ROM FLASH/ROM

LIN/ SCI0 LIN/ SCI0

SPI0 SPI0

msCAN msCAN

ADC 10B 8ch ADC 10B 8ch

Timer 6ch Timer 6ch

GPIO GPIO

DBG DBG

INT INT

S12 CPU S12 CPU

PWM 8B 6ch PWM 8B 6ch

BDM BDM

PWM Only available on the 96K and 128K derivativeTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 7

Q&C系列区别

所有的外设寄存器以及中断向量的地址相同

TIMER –通道

The timer features on the Q-Family only six channels 2 through 7, while the timer on the C-Family holds all eight channels 0 to 7. If an application is developed on the

C-Family and should be transferred to the Q-Family, all register bits associated with channels 0 and 1 should not be used.

PWM 模块

on the Q-Family features 4 channels versus 6 on the C-Family. The channels 0 through 3 should be used in case an application is

moved over from the C-Family to the Q-Family

地址分配请参照相应的数据手册

01234567

Q Family

C Family

012345

Q Family

C FamilyTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 8

MC9S12C32 应用举例: 空调系统

MC33399

LIN I/F

Temperature

Sensor

A/C

Condens

er

Heater

Core

Defrost vent zone

Mid-level vent zone

Floor vent zone

Recirculation

air intake

Fresh air intake

Blower Motor

LIN slave flapper

control node

TS

Rx/Tx

MC33889

Vreg

Watchdog

Interrupt

Reset

SPI

CAN Low Speed

Fault Tolerant

Wakeup Wakeup

Inputs

Battery

C32

SCI

VDD

5v

CAN BUS

LIN

BUS

CAN

SPI

A/D TS

HV AC Panel

Keypad

Display (LED /LCD)

I/OFreescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

TM

SCITM Freescale Semiconductor Confidential and Proprietary Information. Fr eescale? and the

Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 10

SCI特点

? 全双工,标准非归零格式(NRZ) ,可编程8位或9位数据格式

?13位波特率选择

? 发送器和接收器独立使能

? 可编程发送输出奇偶校验

? 两种接收器唤醒方式:

—空闲唤醒

— Address mark wake-up

?8个中断标志位:

—发送器空

—发送完成

—接收器满

—接收器空闲输出

—接收器溢出

—噪声错误

—帧错误

—奇偶错误

? 接收器帧错误检测,硬件奇偶校验,1/16位时间噪声检测TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and t he Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 11

SCI 结构图

数据寄存器

接收移位寄存器

接收和唤醒控制

数据格式控制

发送控制

发送移位寄存器

数据寄存器

波特率

发生器

SBR12-SBR0

R8

NF

FE

PF

RAF

IDLE

RDRF

OR

RIE

RE

RWU

LOOPS

RSRC

M

WAKE

ILT

PE

PT

TE

LOOPS

SBK

RSRC TDRE

TC

ILIE

TIE

TCIE

÷16

T8

RxD

TxD

IRQ

to

CPU

总线

时钟TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 12

SCI寄存器

寄存器Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

R8 0 0 0 0 0 0 T8

数据寄存器SCIDRH

R7 R6 R5 R4 R3 R2 R1 R0

00 0

波特率寄存器SCIBDH

SBR9

波特率寄存器SCIBDL SBR1

PE

RWU

FE

TXDIR

T1

控制寄存器SCICR1

控制寄存器SCICR2

状态寄存器SCISR1

状态寄存器SCISR2

数据寄存器SCIDRL

SBR7 SBR6 SBR5 SBR4 SBR3 SBR2 SBR0

LOOPS SCISWAI RSRC M WAKE ILT PT

TIE TCIE RIE ILIE TE RE SBK

TDRE TC RDRF IDLE OR NF PF

00000 RAF BRK13

T7 T6 T5 T4 T3 T2 T0

SBR12 SBR11 SBR10 SBR8TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 13

SCI 波特率寄存器

SCIBH/L - SCI 波特率寄存器

SCI 波特率计算公式:SCI baud rate = SCI module clock / (16 * SCIBR[12:0])

例如:总线时钟频率为16MHz,波特率为9600

则SCIBR = 16MHz/(16*9600) = 104

ReservedTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 14

SCI 控制寄存器- SCICR1

1 = 9-BIT DATA

0 = 8-BIT DATA

1 = IDLE LINE WAKE-UP

0 = ADDRESS MARK WAKE-UP

1 = NORMAL IDLE TIME

0 = SHORT IDLE TIME

1 = EVEN PARITY

0 = ODD PARITY

1 = PARITY Enabled

0 = PARITY Disabled

LOOPS RSRC 功能

0 x 正常工作模式

1 0 循环模式,Rx在内部连接到Tx

1 1 单线模式,Rx输入引脚连接到Tx

SCISWAI - SCI 在等待模式下停止

0 = Normal operation

1 = SCI Disabled in Wait modeTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 15

SCI 控制寄存器- SCICR2

TIE 发送中断使能—TIE 使发送数据寄存器空标志位TDRE产生中断请求

0 TDR中断请求禁止;1 TDRE中断请求使能

TCIE 发送完成中断使能—TCIE使发送完成标志位TC产生中断请求

0 TC 中断请求禁止;1 TC中断请求使能

RIE 接收器满中断使能—RIE使接收数据寄存器满标志位RDRF或溢出标志位OR产生中断请求

0 RDRF和OR中断禁止;1 RDRF和OR中断使能

ILIE 空闲中断使能—ILIE使空闲标志位IDLE产生中断请求

0 IDLE中断请求禁止;1 IDLE中断请求使能

TE 发送使能—TE使能SCI发送器,并把TxD引脚设置为由SCI控制。TE可用于排队等候空闲起始

0 发送器禁止;1 发送器使能

RE 接收器使能—RE使能SCI接收器

0 接收器禁止;1 接收器使能

RWU 接收器唤醒—等待状态

0 正常工作;

1 RWU使能唤醒功能并且禁止以后的接收器的中断请求。硬件可以唤醒接收器,并自动对RWU清零

SBK 发送间隔— SBK取反来发送一个间隔符(10 或11 逻辑0, 如果BRK12被置位的话,是13个或14个逻辑0).

0 无间隔符; 1 发送间隔符TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 16

SCI状态寄存器–SCSR1

发送中断TDRE -发送数据寄存器空

TC -发送完成

接收中断RDRF -接收数据寄存器满

IDLE –空闲检测

接收数据错误标志OR –溢出错误

NF –噪声标志

FE –帧错误

PF –校验错TM Freescale Semiconductor Confidential and Propr ietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners.

? Freescale Semiconductor, Inc. 2005.

Slide 17

SCI 状态寄存器–SCISR2

BRK13 –间隔发送字符长度

0 = 间隔符10 或11字节长

1 =间隔符13 或14字节长

TXDIR –发送引脚方向

0 = TxD引脚在单线模式下为输入

1 = TxD引脚在单线模式下为输出

RAF –接收器活动状态

1 = 接收器活动

0 = 接收器停止TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Free scale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 18

SCI 数据寄存器- SCIDR

注:当数据长度为9bit时,使用R8 和T8TM Freescale Semiconductor Confidential and Proprietary Infor mation. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 19

SCI 初始化

1. 设置波特率

SCI baud rate = SCI module clock / (16 * SCIBR[12:0])

2. 选择数据格式

3. 使能发送,接收和相关中断

#define BUS_FREQUENCY 4000000

#define BAUDRATE 9600

void SCI_Init(void)

{

SCIBD = BUS_FREQUENCY /(16* BAUDRATE ); //SCIBR[12:0] = Bus clock/(16*SCI baudrate)

SCICR1 = 0x00; //SCICR1: LOOPS=0,SCISWAI=0,RSRC=0,M=0,W AKE=0,ILT=0,PE=0,PT=0

SCICR2 = 0x2C; //SCICR2: SCTIE=0,TCIE=0,RIE=1,ILIE=0,TE=1,RE=1,RWU=0,SBK=0 }

注:此例实际波特率9615.385, 误差0.16%

BUS_FREQUENCY/16/BAUDRATE;TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 20

SCI接收

// 接收函数

void SCI_Receive(byte *data)

{

*data = SCIDRL;

}

//查询方式接收

void main()

{

byte sci_data;

SCI_Init();

while(!SCISR1_RDRF);

SCI_Receive(&sci_data);

}

//中断方式接收

void SCI_IntRx(void)

{

byte sci_data;

SCI_Receive(&sci_data);

}TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 21

SCI发送

void main()

{

byte sci_data;

SCI_Init();

sci_data = 0x80

SCI_Transmit(sci_data);

printf0("\n please input number to choose operation: \r");

printf0("\n 1.programming flash\r");

printf0("\n 2.erasing flash\r");

printf0("\n 3.read flash\r");

}

//发送函数

void SCI_Transmit(byte data)

{

while(!SCISR1_TDRE); // 等待发送缓冲区空

SCIDRL = data;

}

void printf0(char *str)

{

while((*str != '\r'))

{

SCI_Transmit(*str);

if(*str++=='\n')

SCI_Transmit('\r');

}

}TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 22

SCI中断处理

#pragma CODE_SEG __NEAR_SEG NON_BANKED

interrupt void SCI_Int(void)

{

// Receiver data register full interrupt

if(SCISR1_RDRF)

{

SCI_IntRx();

}

// Transmit data register empty interrupt

if(SCISR1_TDRE)

{

}

// Transmit complete interrupt

if(SCISR1_TC)

{

}

}

#pragma CODE_SEG DEFAULT

//prm文件中加入

VECTOR ADDRESS 0xFFD6 SCI_Int

void SCI_IntRx(void)

{

byte sci_data;

SCI_Receive(&sci_data);

}Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

TM

FLASHTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 24

FLASH特点

? 64KFLASH分成64段,每段1024字节

? 自动编程和擦除算法

? 快速扇区擦除和字编程操作

? 指令完成时中断

? 2段命令流水线,快速实现多个字的编程

? 灵活的保护机制,避免意外编程和擦除

? 预防非法访问的加密特征TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 25

FLASH结构图

FLASH接口

寄存器

保护

加密

命令流水线

时钟分频

晶振时钟

命令缓冲区空中断

命令完成中断

cmd2

add2

data2

cmd1

add1

data1

FCLK

FLASH 阵列

32K * 16位

Sector 0

Sector 1

Sector 63TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 26

FLASH存储器映射

VECTORS

正常单片模式

0xFF00

0xFFFF

0x0000

0x0400

0x3000

0x4000

0x8000

0xC000

0x0000

0x03FF

1K寄存器空间

可映射到任意2K的边界内

16K固定页FLASH 0x003D

0x0000

0x3FFF

0x3000

0x3FFF

4K RAM,可映射到任意4K边界内

0x4000

0x7FFF

0x8000

0xBFFF

0xC000

0x7FFF

16K固定页FLASH 0x003E

16K固定页FLASH 0x003F

16K页窗口FLASH 4*16K FLASH页

注意:

复位以后

寄存器的地址0x0000-0x03FF

RAM的地址0x0000-0x0FFF

仅有3K RAM可用0x400-0xFFF

FLASH段擦除的大小为1024字节TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 27

FLASH寄存器

名称寄存器Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

时钟分频寄存器

加密寄存器

配置寄存器

保护寄存器

状态寄存器

命令寄存器

地址寄存器

地址寄存器

数据寄存器

数据寄存器

FCLKDIV FDIVLD PRDIV8 FDIV5 FDIV4 FDIV3 FDIV2 FDIV1 FDIV0

FSEC KEYEN1 KEYEN0 NV5 NV4 NV3 NV2 SEC1 SEC0

FCNFG CBEIE CCIE KEYACC 0 0 0 0 0

FPROT FPOPEN NV6 FPHDIS FPHS1 FPHS0 FPLDIS FPLS1 FPLS0

FSTAT CBEIF CCIF PVIOL ACCERR 0 BLANK FAIL DONE

FCMD 0 CMDB6 CMDB5 0 0 CMDB2 0 CMDB0

FADDRH 0 FABHI

FADDRLO FABLO

FDATAHI FDHI

FDATALO FDLOTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 28

时钟分频寄存器FCLKDIV

寄存器Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

FCLKDIV FDIVLD PRDIV8 FDIV5 FDIV4 FDIV3 FDIV2 FDIV1 FDIV0

FDIVLD 时钟分配器已经装载如果FCLKDIV寄存器被写过,FDIVLD将自动置1

0 - FCLKDIV 寄存器没有被写过

1 - FCLKDIV 寄存器从最近一次复位起已经被写过

PRDIV8 使能时钟8分频

0 - 晶振时钟为FLASH时钟分配器的时钟源

1 - 晶振时钟除以8后,为FLASH时钟分配器的时钟源

FDIV[5:0] 时钟分配器位

—PRDIV8 和FDIV[5:0]的设置,必须满足FLASH时钟在150 kHz – 200 kHz范围内。最大的分频系数为512。

在对FLASH进行操作之前,必须对时钟进行初始化TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale log o are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 29

Flash 的配置寄存器– FCNG

CBEIE —指令缓冲区空中断使能

该位在空地址,数据和指令缓冲区的情况下使能中断。

1 = CBEIF标志被置位产生中断请求

0 = 指令缓冲区空中断禁止

CCIE —指令完成中断使能

当所有指令被完成该位产生中断

1 = CCIF 标志被置位产生中断请求

0 = 指令完成中断禁止

KEYACC —使能安全密匙写入

1 = 写入flash模块被解释成打开后门的密匙.

0 = Flash 写入后编程或擦除过程的开始

00000

KEYACC CBEIE CCIE

7 6 5 4 3 2 1 0

Reset 0 0 0 0 0 0 0 0

KEYACC

0 0 0 0 0

CCIE CBEIE

7 6 5 4 3 2 1 0

Reset 0 0 0 0 0 0 0 0TM Freescale Semiconductor Confid ential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 30

KEYEN —使能安全性的后门码

1 = 通过BDM 或外部总线接口进行flash 读取的后门码被使能

0 =.通过BDM 或外部总线接口进行flash 读取的后门码被禁止

1、由于只有SEC1:SEC0 = 1:0时,才不加密,所以即使FLASH和EEPROM被擦除后,加密字节中内容为

$FF,仍然处于加密状态

2、要想使FLASH和EEPROM处于非加密状态,需要对加密字节$FF0F中写入$FE。

3、因为FLASH编程是按字对齐,所以需要对$FF0E写入$FFFE

FSEC - Flash 安全寄存器

SEC[1:0] 加密状态

0 : 0 加密

0 : 1 加密

1 : 0 解密

1 : 1 加密

寄存器Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

FSEC KEYEN NV6 NV5 NV4 NV3 NV2 SEC01 SEC00

在复位时,把0xFF0F地址中的值装载到FSEC寄存器中TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the F reescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 31

FPROT - Flash 保护寄存器

FPOPEN NV6 FPHDIS FPHS1 FPHS0 FPLDIS FPLS1 FPLS0

FPOPEN —FLASH编程或擦除保护

1 = FPHDIS和FPLDIS定义的FLASH地址区域不被保护

0 =

FPHDIS—Flash 保护高地址范围禁止

该位用来决定在Flash块地址映射的较高末端是否存在一个被保护的区域

1 = 保护禁止

0 = 保护使能

FPHS[1:0] —Flash 保护高地址范围

这两位用来决定保护区域的范围。

FPLDIS—Flash 保护较低的地址范围禁止

该位用来决定在Flash块地址映射的较低末端是否存在一个被保护的区域

1 = 保护禁止

0 = 保护使能

FPLS[1:0] —Flash保护低地址范围

这两位用来决定保护区域的范围

7 6 5 4 3 2 1 0

Reset F F F F F F F FTM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale

Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005.

Slide 32

Flash 的状态寄存器FSTA T

CBEIF—指令缓冲区空中断标志

表明地址,数据和指令缓冲区为空因此一个新的指令序列可以开始。

该标志通过写人―1‖清除。指令序列通过清除该位来开始。

写入―0‖ 可异常中止一个尚未开始的指令序列且置ACCERR标志

1 = 缓冲区准备接收一个新指令

0 = 缓冲区满

CCIF—指令完成中断标志

表明不再有未决的指令。该标志通过硬件写入来清除

写操作不起作用。

1 = 所有指令都被完成

0 = 指令进行中

PVIOL—保护错误标志

表明试图对被保护的存储器区域中的一个地址编程或擦除。

若该位被置1则并行的编程或擦除指令不能被执行。该标志通过写入―1‖被

清除,也可通过在CBEIF被清零后或当CCIF 被清除时写一条新的,有效

的指令来清除

1 = 保护系统侵犯已出项

0 = 无故障

BLANK —空白校验标志

表明在响应一条擦除校验指令后flash 块已被完全地擦除

飞思卡尔智能车电机资料上课讲义

3.1.6驱动电机介绍 驱动电机采用直流伺服电机,我们在此选用的是RS-380SH型号的伺服电机,这是因为直流伺服电机具有优良的速度控制性能,它输出较大的转矩,直接拖动负载运行,同时它又受控制信号的直接控制进行转速调节。在很多方面有优越性,具体来说,它具有以下优点: (1)具有较大的转矩,以克服传动装置的摩擦转矩和负载转矩。 (2)调速范围宽,高精度,机械特性及调节特性线性好,且运行速度平稳。 (3)具有快速响应能力,可以适应复杂的速度变化。 (4)电机的负载特性硬,有较大的过载能力,确保运行速度不受负载冲击的 影响。 (5)可以长时间地处于停转状态而不会烧毁电机,一般电机不能长时间运行 于停转状态,电机长时间停转时,稳定温升不超过允许值时输出的最大堵转转矩称为连续堵转转矩,相应的电枢电流为连续堵转电流。 图3.1为该伺服电机的结构图。图3.2是此伺服电机的性能曲线。 图3.1 伺服电机的结构图

图3.2 伺服电机的性能曲线 3.1.7 舵机介绍 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图3.3所示。图3.4为舵机的控制线。 图3.3 舵机控制要求

飞思卡尔K60 DMA 中文手册

/*----------------------------------------------------------------------------------------------------------------------------- 桂林电子科技大学 物联网工程 Editor:JaceLin Date:2014.2.5 -------------------------------------------------------------------------------------------------------------------------------- 一、DMA特性 1)k60有16个DMA通道 二、寄存器 1)控制寄存器:DMA_CR 31-18 reserved 17 CX 取消转移,0正常操作,1取消剩下数据转移 16 ECX 错误取消转移,0正常操作,1取消转移 15-8 reserved 14 EMLM 使能副循环映射 0 禁止,TCDn.word2 为32位 1 使能,TCDn.word被重新定义 6 CLM 持续连接模式,0当副循环结束后,再次激活DMA要通过裁决,1不用裁决 5 HALT 停止DMA操作,0正常模式,1停止DMA操作 4 HOE 错误时停止,0正常操作,1当有错误时HALT=1,也就是DMA停止 3 reserved 2 ERCA 使能循环通道裁决, 1 EDBG 使能调试,写0,调试也用DMA,写1,调试时DMA不可用 0 reserved 2)错误状态寄存器DMA_ES 31 VLD 所有错误状态位逻辑或,0没有错误,1表示至少有1个错误没有清除 30-17 保留 16 ECX 转移被取消0没有被取消的转移,1最后一次记录是被取消的转移 15 保留 14 CPE 通道优先错误,0没有通道优先错误,1有 13-12 保留 11-8 ERRXHN 错误通道位/被取消的位(最多16位) 7 SAE 源地址错误,0没有源地址配置错误,1有错误 6 SOE 源偏移错误,0没有源偏移配置错误,1有偏移配置错误 5 DAE 目标地址错误,0没有错,1有错误 4 DOE 目标偏移错误,0没有错误,1有 3 NCE NBYTES/CITER配置错误,0没有,1有 2 SGE Scatter/Gather配置错误,0没有,1有 1 SBE 源总线错误,0没有错误,1有

freescale MC9S12P128中文手册

1 Chapter1 Device Overview MC9S12P-Family 1.1介绍 The MC9S12P 系列单片机是经过优化后有着低成本、高性能、低引脚数的汽车专业级单片机产品,该产品倾向于弥补高端16位单片及产品如MC9S12XS和低端8位单片机产品之间的空缺。MC9S12P 主要针对于要求使用CAN 或者LIN/J2602通讯接口的汽车应用产品,典型的应用案例包括车身控制器、乘坐人员检测、车门控制、座椅控制、遥控车门开关信号接收器、智能执行器、车灯模块、智能接线器。 The MC9S12P 系列单片机使用了很多MC9S12XS系列单片机相同的功能,包括片内闪存错误纠正代码(ECC)、一个专为数据诊断或者数据存储的单独的数据闪存模块、高速AD转换器和高频调制锁相环(IPLL)有效改善电磁兼容性能。MC9S12P系列单片机提供的所有16为单片机优点和微处理器效率,同时保持飞思卡尔用户熟悉的8位及16位单片机,低成本,功耗,EMC和高效的代码80针QFP、64针LQFP、40针QFN封装产品,最大限度的与MC9S12尺寸的优点,如同MC9S12XS一样可以无需等待外围设备和内存的状态既可以运行16为带款的寻址,MC9S12P系列单片机主要有XS引脚兼容. I/O口在各种模式下都可以使用,同时具有中断功能的I/O口还可以在停止或等待模式下唤醒。 1.2 芯片特性 表一:提供了MC9S12P家庭成员特征摘要, 1.P或D寄存器擦除或者编程需要最低总线频率为1MHZ

1.2.2 芯片功能 ? S12 CPU 内核 ? 高达128 KB具有ECC功能的片上闪存 ? 4 Kbyte带ECC功能的数据闪存 ? 高达6 Kb片上静态存储器(SRAM) ? 具有内部滤波器的锁相环倍频器(IPLL) ? 4–16 MHz 皮尔斯振荡器 ? 1 MHz内部RC振荡器 ? 定时器(TIM) 具有16位输入捕捉、输出比较、计数器脉冲累加器功能 ? 具有8位6通道的脉冲调制模块(PWM) ? 10通道12位分辨率的逐次逼近AD转换器 ? 1个串行通信外部接口(SPI) ? 1个支持局域网通讯串行通信(SCI) 模块 ?一个多可扩展控制器区域网络(MSCAN) 模块(支持CAN 协议2.0A/B) ?片上电压调节器(VREG) 可对内部供电及内部电压整流 ? 自主周期中断(API) 1.3 模块特征 1.3.1 CPU S12 CPU 是一个高速的16位处理单元: ?全16-bit数据通道提供有效的数学运算和高速的数学执行 ? 包含很多单字节指令,可以有效的利用ROM空间 ? 宽域变址寻址功能: —采用堆栈指针作为所有变址操作的变址寄存器 —除了在自增或自减模式下都可以利用程序计数器作为变址寄存器 —使用A\B\D累加器做累加器偏移 —自动变址,前递增(++a)、前递减(--a)、后递减(a--)、后递增(a++)(by –8 to +8) 1.3.2 带ECC功能的片内闪存 ? 高达128 Kb程序闪存空间 — 32 位数据加7 位ECC (纠错码) 允许单字节纠错和双字节纠错 — 512字节擦出扇区空间 —自动编程和擦除算法 —用户设置读写页面边界 —具有可以防止偶然编程或者擦除的保护结构 ? 4 Kb 数据闪存空间 — 16 位数据加6位纠错码允许单字节和双字节纠错功能 — 256 字节的擦出扇区空间 —自动编程和擦除算法 —用户设置读写页面边界 1.3.3 片内静态存储器

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

飞思卡尔KE02系列简介

1Kinetis E series Kinetis E series provide the highly scalable portfolio of ARM ? Cortex ?-M0+ MCUs in the industry. With 2.7–5.5 V supply and focus on exceptional EMC/ESD robustness,Kinetis E series devices are well suited to a wide range of applications in electrical harsh environments, and is optimized for cost-sensitive applications offering low pin-count option.The Kinetis E series offers a broad range of memory,peripherals, and package options. They share common peripherals and pin counts allowing developers to migrate easily within an MCU family or among the MCU families to take advantage of more memory or feature integration. This scalability allows developers to standardize on the Kinetis E series for their end product platforms, maximising hardware and software reuse and reducing time-to-market. Following are the general features of the Kinetis E series MCUs. ?32-bit ARM Cortex-M0+ core ?Scalable memory footprints from 8 KB flash / 1 KB SRAM to 128 KB flash / 16 KB SRAM ?Precision mixed-signal capability with on chip analog comparator and 12-bit ADC ?Powerful timers for a broad range of applications including motor control ?Serial communication interfaces such as UART, SPI,I 2C, and others. ?High security and safety with internal watchdog and programmable CRC module Product Brief Rev 3, 07/2013 KE02 Product Brief Supports all KE02 devices ? 2013 Freescale Semiconductor, Inc. Contents 1Kinetis E series..........................................................12KE02 sub-family introduction..................................23Block diagram...........................................................34Features.....................................................................45Power modes.. (136) Revision history (14)

飞思卡尔汽车芯片

飞思卡尔推出业界最强大的汽车动力总成系统微 控制器 2011-10-14 18:05:18 来源:与非网 关键字:飞思卡尔Qorivva MCU 动力总成控制系统 2011年10月12日-德国巴登(2011汽车电子系统展览会)–汽车厂商继续通过新的汽车设计将业界标准提升至新高度,通过交付具有更高燃油经济性和更低排放的汽车满足消费者的期望和政府的法规要求。高性能微控制器(MCU)在环保汽车设计领域扮演着重要角色,飞思卡尔半导体(NYSE:FSL)日前宣布推出强大的多核心汽车MCU系列中的第一款产品,帮助汽车设计者更加轻松地提高引擎效率并降低排放污染。 飞思卡尔新推出的多核心Qorivva 32位MPC5676R MCU在Power Architecture?技术的基础上构建,与上一代单核心MPC5566 MCU相比,性能提高了四倍、内存空间提高了一倍、并提供了更多功能。MPC5676R的多种优势允许全球汽车厂商在单一控制器中融合多种尖端技术,例如直喷、涡轮增压和有线系统全驱动。 飞思卡尔负责汽车MCU业务副总裁Ray Cornyn表示,“飞思卡尔充分了解帮助汽车厂商生产更加环保、燃油效率更高的汽车所需的关键技术及其重要性,长期以来我们一直与汽车行业合作,共同开发可以满足其最新一代设计需求的解决方案。在动力总成领域,我们的目标是生产最强大、最灵活的MCU,它可以同时管理最新引擎的所有复杂控制任务,为设计者提供了降低系统复杂性所需的工具和软件平台。” 90纳米双核心MPC5676R MCU配备了: ? 6 MB片上闪存 ?384 KB片上RAM ?三个高性能增强型时序处理器单元(eTPU)

飞思卡尔智能车简介

智能车制作 F R E E S C A L E 学院:信息工程学院 班级:电气工程及其自动化132 学号:6101113078 姓名:李瑞欣 目录: 1. 整体概述 2.单片机介绍 3.C语言 4.智能车队的三个组 5.我对这门课的建议

一、整体概述 智能车的制作过程包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作。内容涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科多专业。 下面是一个智能车的模块分布: 总的来说智能车有六大模块:信号输入模块、控制输出模块、数据处理模块、信息显示模块、信息发送模块、异常处理模块。 1、信号输入模块: 智能车通过传感器获知赛道上的路况信息(直道,弯道,山坡,障碍物等),同时也通过传感器获取智能车自身的信息(车速,电磁电量等)。这些数据构成了智能车软件系统(大脑)的信息来源,软件系统依靠这些数据,改变智能车的运行状态,保证其在最短的时间内按照规定跑完整个赛道。 2、控制输出模块: 智能车在赛道上依靠转向机构(舵机)和动力机构(电机)来控制运行状态,这也是智能车最主要的模块,这个模块的好坏直接决定了你的比赛成绩。 电机和舵机都是通过PWM控制的,因此我们的软件系统需要根据已有的信息进行分析计算得到一个合适的输出数据(占空比)来控制电机和舵机。 3数据处理模块: 主要是对电感、编码器、干簧管的数据处理。信号输入模块得到的数据非常原始,有杂波。基本上是不能直接用来计算的。因此需要有信号处理模块对采集的数据进行处理,得到可用的数据。 4信息显示模块: 智能车调试过程中,用显示器来显示智能车的部分信息,判断智能车是否正常运行。正式比赛过程中可关闭。主流的显示器有:Nokia 5110 ,OLED模块等,需要进行驱动移植。

MC9S08AC16数据手册(中文)

MC9S08AC16 参考手册 苏州大学飞思卡尔嵌入式系统研发中心翻译 https://www.360docs.net/doc/c64420695.html, 2009年11月

MC9S08AC16系列特点 MC9S08AC16系列特点 z消费&工业 MC9S08AC16 MC9S08AC8 z汽车 MC9S08AW16A MC9S08AW8A 8位HCS08中央处理单元(CPU) z40-MHz HCS08CPU(中央处理单元) z20-MHz内部总线频率 z HC08指令集,增加了BGND指令 z背景调试系统 z在线调试(in-circuit debugging)期间可以设置单个断点(在片上调试模式时可以在增加两个断点) z调试模式包括2个比较仪和9个触发器模式。8个FIFO来存储流控制地址和事件数据。调试模式支持标签和强制断点 z支持高达32个中断/复位源 存储器选项 z高达16KB的片上在线可编程FLASH存储器,有块保护和安全选项 z高达1KB的片上RAM 时钟源选项 z时钟源选项包括晶体,蜂鸣器,外部时钟,或能够NVM调整的精确的内部集成时钟 系统保护 z可选的系统正常操作(COP)复位,使用独立的内部时钟源或总线时钟运行 z低压检测复位或中断 z非法操作符检测复位 z非法地址检测复位 省电模式 z增加了两种停止模式 外部设备 z ADC-8通道,10位AD转换器,包含自动比较功能 z SCI-两个串行通信接口模块,可选的13位停止符 z SPI-串行外设接口模块 z IIC-内部集成电路总线模块,可以工作在100kps的最大总线负载上,减少负载将会允许更高

的波特率 z定时器-3个16位定时器/脉宽调制(TPM)模块-2个2通道和1个4通道;每个定时器在每个通道上都有可选的输入捕捉,输出比较,PWM。每个定时器在每个通道上都可以配置为带缓冲,中心PWM(CPWM) z KBI-7引脚键盘中断模块 输入/输出 z高达38个通用输入/输出(I/O)引脚 z输入时,每个端口都有软件选择的上拉电阻 z输出时,每个端口都有软件选择的转换速率控制 z输出时,每个端口都有软件选择的驱动强度 z主机复位引脚和上电复位(POR) z RESET,IRQ,BKGD/MS引脚在内部上拉以减小系统消耗 封装选择 z48引脚QFN z44引脚LQFP z32引脚LQFP

飞思卡尔9S12G系列单片机中文简介

飞思卡尔9S12系列单片机中文简介 1.1介绍 MC9S12G系列是一个专注于低功耗、高性能、低引脚数量的高效汽车级16位微控制器产品。这个系列是桥连8位高端微机和16位高性能微机,像MC9S12XS系列。MC9S12G系列是为了满足通用汽车CAN或LIN/J2602通信应用。这些应用的典型例子包括body controllers, occupant detection, doormodules, seat controllers, RKE receivers, smart actuators, lighting modules, and smart junction boxes. MC9S12G系列使用了许多MC9S12XS系列和MC9S12P系列里面的相同特性,包括在闪存(flash memory)上的纠错指令(ECC),一个快速A/D转换器(ADC)和一个为了改善电磁兼容性(EMC)性能的频率调制相位锁存循环(IPLL). MC9S12G系列是高效的对较低的程序存储器至16K。为了简化顾客使用它,特制了一个4字节可擦除扇区的EEPROM。 MC9S12G系列传送所有16位单片机的优势和效率,定位于低成本,低功耗,EMC,现行代码尺寸效率优势被现存8位和16位单片机系列的使用者所分享。像MC9S12XS系列,MC9S12G 系列运行16位位宽的访问对所有的周期和存储器状态都不用等待。 MC9S12G系列可得到的封装有100-pin LQFP, 64-pin LQFP, 48-pinLQFP/QFN, 32-pin LQFP and 20-pin TSSOP,特别是对较少引脚的封装发挥出最大的功能。此外,在每个模块中可得到的I/O口,进一步的可用于中断的I/O口允许从停止或等待模式中唤醒。 1.2特点 这部分说明了MC9S12G系列的关键特性。 1.2.1MC9S12G系列比较 表1-1提供了MC9S12G系列不同型号特点的概要。这个微机系统提供了一个明确的功能范围信息。 表1-1 MC9S12G系列概述

飞思卡尔MC9S12C中文介绍以及简单编程编程

Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005. TM Freescale MC9S12C64 介绍及编程练习 Terry Tian R63492@https://www.360docs.net/doc/c64420695.html, 2005.12TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005. Slide 1 8/16/32-位内核定位 性 能PowerPC Hawk MCU 56F8300 功能 MAC7x00 (ARM 7) S12X HCS12 S08 HC08 发动机管理 信息娱乐 底盘/电机控制 中/高级车身控制 安全/ 仪表/ 音响 HV AC(空调)/ ISU CAN & LIN 主节点 低端CAN LIN 从节点TM Freescale Semiconductor Confidential and Proprietary Information. Freescale? and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ? Freescale Semiconductor, Inc. 2005. Slide 2 MC3S12R64 ROM 1xCAN (No EE) MC9S12B256 1x msCAN 128K 32K 256K

飞思卡尔智能车及电子设计大赛简介

飞思卡尔智能车 各位同学你们好,下面由我来给大家介绍一些我参加飞思卡尔智能车大赛以及电子设计大赛的心得,和一些入门知识,时间仓促,文笔有限,有不合理的地方望大家见谅。 一.几个基本要求:(依据第一届的选人方式) 1.做事情认真、积极、负责,且有毅力。 2.有团队精神。 3.专业知识越强当然也会越有利,但自学能力也非常非常重要。 注释: 因为大家基本都是头一次做这个项目,功底都差不多,按上一届选人的标准来看,那些老师可能会比较看重学生的这些特质。(当然事先有准备相关的知识以及自身的专业能力也是必须的啦)。 解释一下为什么要上述那几点: 1.做事情认真、积极、负责,且有毅力。认真是必须的,那个单片机很容易烧毁,并且还挺贵的,上一次由于没经验就烧了挺多个。积极跟负责,做这个比赛,就要多花点时间在上面,三天两头都见不到你的人,队友很容易会有意见,很快对你就会排斥,还有该是你负责的部分你就要努力去搞定,而不是一副事不关己的样子。毅力,这是必须的,在时间紧张的时候免不了要在生化楼通宵熬夜的,没点毅力,两三天你就夸了。 2.有团队精神。这点很重要,能不能和队友默契的合作往往能左右这个队伍的成绩,合作在于沟通,能心平气和地与别人沟通的会比较受青睐。有意见大家好好说,别太冲动跟倔强。 3.专业知识越强当然也会越有利,但自学能力也非常非常重要。因为我们专业的人过去主要是负责硬件部分,所以电路设计,焊电路板是必不可少的,没有电专业知识是不成的,自学能力是非常重要的,因为那边基本没老师给你培训,上一届的同学也不可能手把手教你怎么弄,所以大部分还是靠自己的自学能力啦。懂得从各届智能车比赛的优秀技术报告学习,从网上查找芯片资料。 二.相关硬件知识简介: 系统硬件结构主要由HCS12(单片机)控制核心、电源管理单元、传感器、车速检测模块、转向伺服电机控制电路和直流驱动电机控制电路组成,其系统硬件结构如图1 所示

飞思卡尔智能车入门指南

飞思卡尔智能车入门指南 概述 智能车巡线是一个半实时随动系统。系统不断传感前方赛道的信息,根据赛道偏转情况计算前轮转向角度,再配合后轮的动力,达到巡线的目的。如下图: 该系统主要涉及知识领域有:单片机、传感器、电机、舵机、电路等,附带着涉及到一些调试手段知识。以下就从这几方面简要介绍。 速度控制 给电机加一个恒定的电压,电机最终会以某个恒定速度转动。适当增加电压,电机速度会加快,最终稳定在一个更快的速度。故调节电机所加电压即可调节电机转速。由于单片机是数字电路,只能控制电压为“有”或“无”,于是我们让电压在“有”和“无”之间反复跳动,那么电压的有效值在电池电压到0之间可连续变化。实际加载在电机上的电压是一个方波,方波的高电平时间长度比方波周期为占空比,占空比越高电压的有效值越高。100%占空比相当于电池直接接在电机上,0%占空比相当于断路,0~100%相当于降压。 单片机普通输出口只能提供小电流的信号电,无法给电机提供功率,故使用MOS管。用单片机的信号控制MOS管的通断,起到开关的作用。开关串联在电池与电机之间,即可给电机提供功率。 单片机方波信号的频率一般在K的数量级(1000Hz)。假设现在给电机50%占空比的方波,信号频率为1K,电机以某个恒定速度转动。适当改变信号周期会发现电机转速略有变化。信号频率很小(例如几十赫兹)或者很大(例如几兆赫兹)时,电机转速会较慢,在某个适中的值时速度达到最大值。此时电机能量转化效率最高。此时固定信号频率不变,改变信号占空比,电机转速和占空比基本成正比。 若以恒定占空比驱动电机,在负载发生变化时,电机速度也会发生变化。若希望电机负载变化而电机仍能匀速转动,应采用闭环控制。给电机安装速度传感器(例如:光电编码器),每隔固定的时间检测光电编码器旋转的圈数(例如:每10ms检测一次光电编码器在过去的10ms内旋转了多少圈),该圈数即可换算成速度。当发现实际转速比目标转速慢时,适当增

Freescale CAN模块用户手册

CAN模块用户手册 1.引言 FlexCAN (FC)模块实现控制器局域网络协议(CAN)通信。CAN是一种用于汽车和工业控制系统异步通讯协议,是高速(1Mbit/sec)、短时间间隔、基于优先级的协议,能够使用多种通讯媒介(例如:光缆,非屏蔽线对等)。FlexCAN 模块同时支持CAN协议规范2.0版、B部分所规定的标准帧和扩展帧。 CAN协议主要——但不是仅仅地用于车辆串行总线,面对这样的特殊要求现场:实时处理、车辆电磁干扰环境的可靠操作、成本效率和需要的带宽等。本文档理论上采用CAN 协议2.0版的一般应用知识。更详细的参见CAN协议规范2.0版。 2.功能说明 ?基于并包含所有现有的TouCAN 模块功能。 ?IP接口结构。 ?完全实现CAN协议规范2.0 —标准数据和远程帧(直到109位长度) —扩展数据和远程帧(直到127位长度) —0—8字节数据长度。 —可编程位速率直到1Mbit/sec。 ?多达16个0—8字节长度的弹性信息缓存器,各自可以配臵为接收或传输,所有的都支持标准帧和扩展帧。 ?允许单侦听模式。 ?内容相关的寻址。 ?无读/写信号。 ?三个可编程过滤寄存器: —全局过滤(用于MBs 0-13) —MB14专用 —MB15专用 ?独立于传输介质(假设使用外部收发器)。 ?开放的网络架构。 ?多主总线。 ?高度抗电磁干扰。 ?高优先级信息短延迟时间。 ?低功耗睡眠模式,可编程 总线活动唤醒。 3.结构图 图1:

4.典型的CAN系统图 图2 每个CAN站点物理上通过一个收发器连接到CAN总线,收发器提供CAN总线上通讯所需的传输驱动、波形,以及接受/比较等功能,还提供保护以预防不良的总线或站点对FlexCAN模块造成损坏。 5.信息缓存 5.1信息缓存器结构。 图3 说明扩展(29-bit) ID信息缓存器结构;图4说明标准(11-bit) ID 信息缓存器结构。 图3 图4

飞思卡尔学习笔记

一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C++虽然常被认为是C的超集,但是C++的编译器还是与C的编译器不同的。C中调用C++中的代码这样定义会是安全的。 一般的考虑跨平台使用方法如下: #ifdef ined(__cplusplus)||defined(c_plusplus) //跨平台定义方法 extern "C"{ #endif //... 正常的声明段 #ifdef ined(__cplusplus)||defined(c_plusplus) } #endif 简单的用在windows下可以如下定义: #ifdef__cplusplus extern "C"{ //... 正常的声明段 } #endif #pragma 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 一般格式 其格式一般为: #pragma Para。其中Para 为参数,下面来看一些常用的参数message 参数 Message 参数能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message(“消息文本”)

当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法 #ifdef _X86 #pragma message("_X86 macro activated!") #endif 当我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示“_X86 macro activated! ”。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了。 code_seg 另一个使用得比较多的pragma参数是code_seg。格式如: #pragma code_seg( ["section-name"[,"section-class"] ] ) 它能够设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到它 #pragma once (比较常用) 只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,这条指令实际上在VC6中就已经有了,但是考虑到兼容性并没有太多的使用它。 #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。 #ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式 #pragma hdrstop #pragma hdrstop表示预编译头文件到此为止,后面的头文件不进行预编译。BCB可以预编译头文件以加快链接的速度,但如果所有头文件都进行预编译又可能占太多磁盘空间,所以使用这个选项排除一些头文件。 有时单元之间有依赖关系,比如单元A依赖单元B,所以单元B要先于单元A编译。你可以用#pragma startup指定编译优先级,如果使用了#pragma package(smart_init) ,BCB就会根据优先级的大小先后编译。

K10中文手册

目录 第一篇硬件篇 第一章芯片介绍 (1) 1.1概述 (2) 1.1.1K10芯片介绍 (2) 1.1.2K10和Kinetis系列控制器比较 (2) 1.1.3Kinetis系列命名规则 (2) 1.2K10芯片引脚图 (4) 1.3K10芯片引脚功能表 (4) 第二章核心板介绍 (16) 2.1K10核心板简介 (16) 2.2K10核心板原理图详解 (17) 2.3核心板使用注意事项 (20) 第二篇软件篇 第一章keil软件入门 (21) 1.1keil uVision V4.22介绍 (21) 1.2系统环境和软件版本 (21) 1.3新建一个工程 (21) 第二章程序下载 (32) 2.1下载器驱动安装 (32) 2.2下载设置 (32) 2.3程序下载 (37) 第三章程序文件介绍 (41) 3SYSTEM文件夹介绍 (41) 3.1gpio文件介绍 (41) 3.2delay文件介绍 (42) 3.3wdog文件介绍 (42) 3.4uart文件介绍 (42) 3.5system文件介绍 (42) 第四章keil使用技巧 (44) 4.1TAB键的妙用 (44) 4.2函数/变量跟踪 (45) 4.3返回定位函数 (46) 4.4快速注释与快速取消注释 (46) 第三篇实践篇 第一章LED灯实验 (47) 1.1GPIO模块介绍 (47) 1.2GPIO模块开发 (47) 1.2.1GPIO相关寄存器介绍 (47) 1.2.2GPIO相关寄存器配置 (48) 1.2.3PORTx端口相关寄存器介绍 (48)

1.2.4PORTx相关寄存器配置 (49) 1.2.5时钟寄存器(SIM)配置 (49) 1.3寄存器配置结果整理 (49) 1.4程序设计 (50) 1.5GPIO模块完整程序 (50) 1.6LED小灯实验 (52) 1.6.1实验目标 (52) 1.6.2硬件设计 (52) 1.6.3程序设计 (52) 第二章延时实验 (55) 2.1DELAY模块介绍 (55) 2.2程序设计 (55) 2.3应用示例 (56) 第三章串口实验 (57) 3.1UART模块介绍 (57) 3.2UART相关寄存器 (57) 3.3软件设计 (59) 3.4应用示例 (62) 3.4.1硬件说明 (62) 3.4.2示例程序 (62) 3.4.3程序验证 (62) 第四章看门狗实验 (64) 4.1WDOG模块介绍 (64) 4.2WDOG相关寄存器 (64) 4.3程序设计 (65) 4.4应用示例 (66) 第五章内部时钟中断实验 (67) 5.1PIT模块介绍 (67) 5.2PIT相关寄存器 (67) 5.3程序设计 (68) 5.4应用示例 (69) 第六章PWM实验 (71) 6.1FTM模块介绍 (71) 6.2FTM相关寄存器 (71) 6.3程序设计 (72) 6.4应用示例 (74) 第七章LCD实验 (76) 7.1LCD液晶屏介绍 (76) 7.2LCD液晶屏函数介绍 (76) 7.3应用示例 (78) 第八章外部中断实验 (79) 8.1外部中断介绍 (79) 8.2EXIT相关寄存器介绍 (79) 8.3程序设计 (79)

飞思卡尔智能车-XS128芯片中文资料

第一讲:HCS12原理及应用--PWM模块介绍 时间:2009-11-25 22:51来源:电子设计吧作者:dzsj8 点击:996次该教程以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、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。 第2讲:HCS12原理及应用--PWM寄存器说明1 时间:2009-11-25 22:56来源:电子设计吧作者:dzsj8 点击:794次 1、PWM启动寄存器PWME PWME 寄存器每一位如图1所示: 复位默认值:0000 0000B 图1 PWME 寄存器 每一个PWM 的输出通道都有一个使能位P WMEx 。它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。当任意的P WMEx 位 置1,则相关的P WM 输出通道就立刻可用。 用法:PWME7=1 --- 通道7 可对外输出波形

相关文档
最新文档