《现场总线与控制》实验指导书1207 1658.docx

上传人:b****6 文档编号:6263587 上传时间:2023-01-04 格式:DOCX 页数:110 大小:843.04KB
下载 相关 举报
《现场总线与控制》实验指导书1207 1658.docx_第1页
第1页 / 共110页
《现场总线与控制》实验指导书1207 1658.docx_第2页
第2页 / 共110页
《现场总线与控制》实验指导书1207 1658.docx_第3页
第3页 / 共110页
《现场总线与控制》实验指导书1207 1658.docx_第4页
第4页 / 共110页
《现场总线与控制》实验指导书1207 1658.docx_第5页
第5页 / 共110页
点击查看更多>>
下载资源
资源描述

《现场总线与控制》实验指导书1207 1658.docx

《《现场总线与控制》实验指导书1207 1658.docx》由会员分享,可在线阅读,更多相关《《现场总线与控制》实验指导书1207 1658.docx(110页珍藏版)》请在冰豆网上搜索。

《现场总线与控制》实验指导书1207 1658.docx

《现场总线与控制》实验指导书12071658

 

《测控总线实用技术》实验指导书

 

北京服装学院信息工程学院

2011年10月

 

目录

F040实验板使用说明书1

F040CAN程序设计参考13

实验1CygnalIDE使用练习18

实验2CAN物理层通信接口22

实验3简单的CAN通信26

实验4CAN总线通信与控制38

实验5RS485串行通信接口49

实验6帧同步与差错控制54

实验7485总线多机通信62

实验8数码管扫描显示实验65

实验9直流电动机控制实验68

实验10A/D转换实验71

实验11LCD显示控制实验74

实验12电梯控制实验79

实验13CAN节点与LONWORKS节点间的通信实验83

附录一CYGNALIDEWindows88

附录二MenusandToolbars90

附录三CygnalConfigurationWizard92

附录四电梯管脚说明94

参考文献97

F040实验板使用说明书

实验者在实验前应阅读本使用说明书。

一、C8051F040开发系统简介

C8051F040单片机开发系统由CygnalSOC单片机开发工具和C8051F040SOC单片机实验板两部分组成。

前者提供了在PC机上开发全系列CygnalSOC单片机应用的软件环境和与PC机的通信;后者提供了硬件环境和扩展手段。

1.CygnalC8051F单片机开发工具

老式仿真器带有目标仿真头和仿真插座,还要或多或少地占用系统资源,如存储器、定时器、通信通道等,有时会造成开发工作不方便。

C8051F系列的所有单片机在片内均设有调试电路,通过边界扫描方式获取单片机内部的状态信息,再经JTAG接口传送到PC机上的开发环境,从而实现在PC机上对用户系统进行调试。

这种调试是在系统的、全速的、非侵入式的。

调试时完全不占用系统资源,符合IEEE1149.1边界扫描标准。

Cygnal开发工具中的Debug可以观察/修改寄存器和存储器,支持单步运行、断点运行、连续运行和停止运行命令,还可以开辟观察窗口、设置观察点、堆栈监视器等。

不仅支持汇编级调试,还支持C51源代码级调试。

它的编程工具Config也比较有新意,朝填表方式和傻瓜化的方向发展,使初学者也能较快开展工作。

图1、JTAG适配器(EC2或EU2)通过RS232接口与PC机连接

(1)开发工具主要技术指标

支持的目标系统:

所有C8051F系列单片机

系统时钟:

最大25MHz

支持汇编语言级和C51源代码级调试

支持KeilC

(2)IDE软件运行环境

操作系统:

Windows95/98/Me/NT/2000/XP

RAM:

32MB

占用硬盘空间:

40MB

空闲的COM口:

1个

(3)开发工具与PC机硬件连接

将适配器EC2(或EU2)与目标系统用JTAG扁平电缆连接。

将PC机与适配器EC2用RS232电缆连接,或与适配器EU2用USB电缆连接。

2.C8051F040SOC单片机片内资源

(1)高速8051微控制器内核

流水线指令结构;

70%指令的执行时间为1个或2个系统时钟周期;

扩展的中断系统。

(2)存储器

4352字节数据存储器(4k+256);

64k字节程序存储器(FLASH);

(3)CAN总线2.0B

32个报文对象;

邮箱可根据需要仅中断CPU。

(4)数字外设

64个I/O口线,所有口线均耐5V电压;

5个通用16位计数器/定时器;

可编程的16位计数器/定时器阵列(PCA),有6个捕捉/比较模块;

2个UART、硬件SMBus(I²C兼容)、SPI串口;

看门狗定时器。

(5)模拟外设

a.12位ADC;

1LSBINL保证单调;

可编程转换速率,最大100kSPS;

12个外部输入,可编程为单端输入或差分输入;

可编程放大器增益16、8、4、2、1、0.5;

数据相关窗口中断发生器;

内置温度传感器3。

b.高电压差分放大器

60V普通模式输入范围;

偏置调节为–60V~+60V;

16种增益设置从16至0.05。

c.8位ADC

可编程转换速率,最大500kSPS;

8个外部输入,可编程为单端输入或差分输入;

可编程放大器增益:

4、2、1、0.5。

d.2个12位DAC

e.3个模拟比较器

f.内部电压基准

g.精确的VDD监视器

更详细的资料可参见CygnalC8051F04xdatasheet。

二、F040实验板使用注意事项

图2、C8051F040实验板

1.电源

实验板上自带3.3V和5V电源,3.3V给F040单片机最小系统单独供电,5V供外围芯片使用。

电源指示灯:

红为+3.3V,黄为外加+5V。

实验者需要扩展电路时,可引出实验板上的5V电源使用。

如果外扩电路所需的电流较大(>1A)时,需外接5V电源。

先切断内部5V电源(将J1跳到“EX”),再将外接5V电源连接到板上。

外接5V电源时极性不得接错,接线柱标志“+”代表正极。

当使用RS-232、CAN、RS-485、DAC及LED时需要5V电源。

注意:

先开3V电源,再开5V电源。

关机时顺序相反。

不得带电拔插EC2。

2.单片机最小系统

工作电压:

3.3V,不允许高于3.6V。

短路块:

J9,J2。

J9(MONEN)接DGND时,禁止VDD监视器。

J9接VDD时,允许VDD监视器工作,当VDD<2.7V时强制系统复位。

在模拟应用时,应注意J2的接法:

J2可以将片内基准源VREF输出给VREFD、VREF0和(或)VREF2。

D/A转换:

VREF与VREFD连接,

12位A/D转换:

VREF与VREF0连接,

8位A/D转换:

VREF与VREF2连接。

3.RS232接口

工作电压:

5V。

短路块:

J7。

应用RS232时,短接J7,不用时断开J7。

短接J7后,管脚P0.0、P0.1、P7.0、P7.1就分别配给RS232的通信线TXD、RXD、RTS、CTS了。

它们与9针RS232插座管脚号的对应关系见下表。

表1、9针RS232插座管脚号的对应关系

F040管脚名

P0.0

P0.1

P7.0

P7.1

RS232信号名

TXD

RXD

RTS

CTS

9针RS232插座管脚号

2

3

8

7

4.CAN/RS485

工作电压:

5V。

短路块:

J16、J17、J18、J19、J20、J24。

这部分电路既可用于现场总线CAN通信,又可用于RS485总线通信,但不能同时使用,要用上述短路块来切换。

当CAN总线通信时,将短路块J16、J17、J18、J19、J24跳线到“CAN”,485总线通信时,将短路块J16、J17、J18、J19、J24跳线到“485”。

CAN通信或485通信,J20都应短接。

若采用其它CAN收发器时,J20开路。

CAN方式:

目前采用的CAN收发器为TJA1040。

P7.2连接它的8脚STB(Standby),控制收发器的工作模式。

系统复位时,STB是高电平,TJA1040处在待机模式;通信时,应在程序中将P7.2置为低电平,唤醒TJA1040。

RS485方式:

RS485是半双工通信,P7.2用于总线方向控制。

P7.2经过一级反相器,控制75176的发送允许端DE和接收允许端。

P7.2为高电平时,RS485总线处于接收状态,P7.2为低电平时,总线处于发送状态。

系统复位时,485总线处于接收状态。

5.其余部分

(1)按键P7.3。

短路块:

J23。

P7.3用作按键时应短接J23,P7.3用作一般口线时应断开J23。

(2)四个增强驱动的输出口线P7.4~P7.7。

这些口线加强了驱动(-15mA,+24mA),并各接1个LED,低电平亮。

工作电压:

5V。

短路块:

J8。

控制P7.4~P7.7输出。

P7.4~P7.7输出(LED显示)时,应短接J8。

6.扩展外部电路

扩展插孔(2×47个,每个孔的定义见下表)

扩展插针(8×8个,P0~P7)

扩展外部电路时,注意输入电压值:

端口I/O(P0~P7)、/RST和JTAG引脚允许5V输入;其他数字管脚只允许3.3V输入;模拟输入不应超过基准源Vref。

表2、扩展插孔(2×47个)每个孔的定义

信号名称

信号类型

说明

电源

AV5+

电源、地

模拟5V电源

模拟地

AGND

VDD5

数字5V电源

数字地

DGND

+5V

隔离后的5V电源

隔离后的地

GND

CPU外围电路

XTAL1

AI

晶体输入。

/RST

DI/O

复位。

内部接VDD监测器的OD输出。

当MONEN有效且VDD<2.7V时被驱动为低电平。

模拟电路

DAC0

AO

DAC的电压输出(带跟随器)

DAC1

AIN0.0~3

AI

ADC0输入通道0~3(带跟随器)

HVCAP

AI/O

高压差分放大器

电容

HVREF

AI

参考

HVAIN+

同向输入端

HVAIN-

反向输入端

VREF

AI/O

电压基准

带隙电压基准输出端

VREFD

AI

DAC的电压基准输入端

VREF0

ADC0的电压基准输入端

VREF2

ADC2的电压基准输入端

CAN

CANRX

DI

CAN

接收端

CANTX

DO

发送端

口线

P0.0~4

DI/O

P0.0~4

P0.5

外部存储器ALE(复用方式)

P0.5

P0.6

外部存储器/RD

P0.6

P0.7

外部存储器/WR

P0.7

P1.0~7

AI

ADC2输入通道0~7

DI/O

外部存储器A8~A15(非复用方式)

P1.0~7

P2.0~7

DI/O

外部存储器A8~A15(复用方式)

外部存储器A0~A7(非复用方式)

P2.0~7

P3.0~7

DI/O

外部存储器AD0~AD7(复用方式)

外部存储器D0~D7(非复用方式)

P3.0~7

P4.0~4

DI/O

P4.0~4

P4.5

外部存储器ALE(复用方式)

P4.5

P4.6

外部存储器/RD

P4.6

P4.7

外部存储器/WR

P4.7

P5.0~7

DI/O

外部存储器A8~A15(非复用方式)

P5.0~7

P6.0~7

DI/O

外部存储器A8~A15(复用方式)

外部存储器A0~A7(非复用方式)

P6.0~7

P7.0~3

DI/O

外部存储器AD0~AD7(复用方式)

外部存储器D0~D7(非复用方式)

P7.0~4

P7.4*~7*

DO

口线驱动能力:

-15mA,+24mA

附件

CLK、IN1

DI

与非门的两个输入端

与非门的输出端

OUT1

DO

IN2、IN3

DI

或非门的两个输入端

或非门的输出端

OUT2

DO

注:

管脚的详细定义请参见CygnalC8051F04xdatasheet。

三、C8051F040的特点

1.SOC的概念:

内置数字设备、模拟设备

尽管F040仍采用51内核,但其内部硬件资源比8051丰富得多,片内还带有PGA、8位ADC、12位ADC、12位DAC、温度传感器等模拟设备,往往无须扩展就能构成一般的小型应用系统,所以被称为SOC(SystemonChip)。

设计中应充分利用片内的资源,尽量不再扩展外部存储器和外部设备。

因为扩展要对外提供数据总线、地址总线、控制总线,将这些总线引出去要占用原来口线的管脚,反而要损失约2.5个8位口,代价很大。

如果必须扩展外部存储器和外部设备,可以优先考虑采用串行RAM和设备,通过SPI或SMBus(I2C)板内串行总线来实现扩展,尽量不要通过系统总线扩展以免占用GPIO的管脚。

2.交叉开关(CROSSBAR)的概念:

数字设备可配置到管脚

交叉开关的作用:

将需要引出的内置数字设备的输入输出线分配到低端口的管脚上,不能分配到高端口的管脚上。

将内置模拟设备分配到端口的管脚上不由交叉开关负责。

分配按固定优先权顺序进行,不能随意分配,不如1016等CPLD灵活。

低端口管脚是多重复用的。

除了8051的复用(P0口与数据总线、低8位地址总线复用,P2口与高8位地址总线复用,P3口与ALE、读、写信号复用)外,新增的内置数字设备和模拟设备,也要占用管脚。

交叉开关就是将28条内置数字设备的I/O线分配到低端口的32个管脚上。

一般不会要求将全部28条内置数字设备的I/O线分配到管脚上,因为未必所有内置数字设备都要用到;有时可供分配的管脚不够32个,因为可能有些管脚已经被占用了;例如,若使用ADC2,则要占用P1口的8个管脚,就只剩下24个可供分配的管脚了。

口线管脚:

各口输出方式可配置:

OD/推挽。

(通过各口的输出方式寄存器配置)

例外:

当SDA,SCL,RX0,RX1出现在管脚上时,自动被配置成OD输出。

P1、P3输入方式可配置:

数字/模拟。

(通过P1、P3的输入方式寄存器配置)

弱上拉电阻:

可全局禁止/全局允许。

(禁止可进一步节能,8051中为固定上拉电阻)

虽是3V电源,但口线管脚可耐5V输入。

口线的管脚内部共连接5(或4)条线:

(见下图)

图3、口线的管脚内部连线图(引自CygnalF040DataSheet)

模拟输入:

P1给ADC2,P3给ADC0。

数字输入:

带施密特输入。

数字输出上管:

选OD输出时关,选推挽输出时开。

(注)

数字输出下管:

可置1该口线,则关断。

(注)

弱上拉电阻:

可全局关/开,不能单独对某一位关/开。

根据使用情况,应将不用的线全部关掉,以保证精度,且节能。

注:

若交叉开关CROSSBAR将管脚分配给内置数字设备作为输入端时,该管脚的输出驱动器自动断开。

交叉开关的缺点:

可靠性:

可程序配置的结构固然比固定结构灵活,但极端情况下,干扰脉冲可能造成错误配置,不如固定结构可靠。

灵活性:

管脚配置的灵活性不如1016,1016更方便PCB设计。

但比固定管脚方便,如:

EMIF可选高端口或低端口。

3.特殊功能寄存器(SFR)引入页(PAGE)的概念

通过SFR实现配置(初始化)和访问端口、内置设备。

2维地址:

起因:

内部增加了许多数字/模拟设备,8051原有的128个SFR字节不够了,必须扩展。

采用按页索引的扩展方法。

2维地址是逻辑的,是一种数据结构。

SFR管理方法:

页地址+(页内)字节地址。

8051的SFR相当于只有一页,F040的SFR可以有256页,目前只用了0、1、2、3、F页,每页仍为128字节。

这种方法给以后的扩展留有充分的余地。

访问F040的SFR只能用页索引的方法,这是学生常犯的错误之一。

AllPages属性:

一些常用的SFR字节具有这种属性,在任何页都可直接访问,访问前后不必换页,比较方便。

页栈的作用:

中断时保护页地址,中断后自动恢复,无须用户程序保护、恢复。

4.低端口、高端口

F040/042的封装是100Pin的,高低端口的64条口线全部引出到管脚。

F041/043的封装是64Pin的,其内部虽然也有高端口,但只引出了低端口的32条口线,高端口的寄存器只能当通用寄存器用。

对高端口未引出的口线(CMOS输入端)也要配置,以节电。

低端口可字节寻址,也可位寻址。

根据F040DataSheet,高端口只能字节寻址,但实际操作中发现也可以位寻址。

通过交叉开关CROSSBAR,内置的数字设备只能配置给低端口,不能配置给高端口。

但外部存储器接口EMI和模拟设备ADC2可以配置给高端口或低端口。

(不是通过交叉开关CROSSBAR)

任何时候MOVA,Pn所得到的是引脚状态,而不是Pn口或分配给引脚的内置数字/模拟设备的状态。

5.EMIF外部存储器接口

(1)用途访问片外XRAM、PRAM,访问片外I/O接口。

(2)指令:

MOVXA,@DPTR

MOVXA,@Ri(与8051不同,高8位地址由EMIF0CN给出,而不是由P2给出)

e.g.MOVEMIF0CN,#12H

MOVR0,#34H

MOVXA,@R0;A←[1234H]

时序可编程:

以便接口不同速度的器件。

可编程:

/RD、/WR、ALE脉宽,地址的建立、保持时间。

A0~A7与D0~D7复用/不复用可选,而8051只能复用AD0~AD7。

复用方式少占用一个口(P1或P5),但要增加一片74LS373作地址锁存器,PCB布线麻烦些。

F040/042的XRAM可配置在高/低端口上,通过将PRTSEL(EMI0CF.5)设置为1/0实现。

若选择低端口,则应令EMIFLE(XBR2.1)=1,以通知交叉开关在复用方式时跳过P0.7、P0.6、P0.5(/WR、/RD、ALE)。

6.内置数字设备

PCA(可编程计数器阵列)

6个(F020为5个)捕捉/比较模块公用一个计数器,因此它们的时钟是相同的。

这与T0、T1、T2、T3、T4(F020无T4)不同,后者是独立计数器,可以具有不同的时钟源。

16位计数器无“飞读”,要求先读L8。

计数器功能有所增强,需CPU干预少。

如PWM方式时有电平切换功能,不必靠程序对某一位口线取反。

CAN控制器(CAN2.0B)

只有CAN控制器,不带收发器。

CANRAM与系统RAM互相独立,CANRAM不由CPU管理,而由CAN控制器管理。

CANRAM中有32个报文对象。

CPU访问报文对象通过接口寄存器IF进行。

CPU支持CAN中断。

“邮箱”只在必要时中断CPU。

7.内置模拟设备

ADC012/10bit,13通道,100sps,单端/差动

(4个独立管脚模拟输入Ain,P3的8个管脚可按位配置为模拟/数字,HVDA。

020为8个独立管脚)

PGA从0.5~16,共6挡。

8路通过交叉开关配置到P3口的管脚。

其余为固定管脚。

有窗口检测器中断。

可设定上下限,越限中断,节省CPU带宽。

窗口内外两种设定方法,灵活。

HVDA:

60VPP,对AGND±60V。

ADC2(在F020中叫ADC1)

8bit,8通道,500sps,单端/差动(F020无差动)

PGA从0.5~4,共4挡。

通过交叉开关配置到P1口的管脚。

有上下限窗口检测器中断。

(F020无)

DAC12bit,2通道(可8bit方式),固定管脚

输出更新方式:

写数据寄存器高位时。

(先写L后写H)

T2、T3、T4溢出时,用当前数据寄存器的值自动更新一次,即输出上一次的值。

在定时器中断服务程序中再给DAC的数据寄存器赋值,但该值不立即输出,要落后一次。

注意:

采样频率可设定。

复位时为最低SYSCLK/32。

分频系数为0~31。

但应使采样频率<7.5MHz。

还可以采用外时钟。

启动转换方式可设定。

ADC0/ADC2,16通道可同步启动转换。

可通过短路块选择基准源VREF的来源。

8.片内JTAG调试与边界扫描

片内Debug电路帮助非入侵式、全速在电路在系统调试,不再需要仿真器。

调试手段齐全:

断点、单步、存储器与寄存器的检查与修改、WatchPoint、堆栈监视器等。

9.其它

F040

F020

OSCXCN的bit7

有XTLVLD

OSC频率稳定中断

交叉开关配置寄存器个数

4(XBR0,1,2,3)

3(XBR0,1,2)

四、配置F040的交叉开关

1.优先权交叉开关(CROSSBAR)译码器

内部数字设备的输入输出线要经过配置才能引出到管脚上。

已分配给内部数字设备的I/O线的管脚不能再用作GPIO的口线。

一般设计不会使用所有的内部数字设备的输入输出线,未用到的就不必配置到管脚上,以节省管脚。

多占一个管脚就意味着损失一条口线。

CROSSBAR将内部数字设备的I/O线分配到低端口(P0~P3)的管脚,而不能分配到高端口的管脚,也不能分配内部模拟设备。

分配按固定的优先权顺序进行:

UART0、SPI、SMBus、UART1……。

端口引脚的分配顺序是从P0.0开始。

参见下交叉开关优先权译码表:

表3、交叉开关优先权译码表(该表引自CygnalF040DataSheet)

分配交叉开关引脚的操作方法有两种:

(1)直接对交叉开关配置寄存器XBR0~XBR3赋值。

每一条内部数字设备的I/O线对应交叉开关配置寄存器中的一位,如果将某位置1,交叉开关将该位所对应的I/O线按优先权顺序分配给端口引脚。

(参考下面的例子)。

(2)使用配置向导。

在CygnalIDE的Tools菜单中,选择CygnalConfigurationWizard,即可进入配置向导。

2.交叉开关引脚分配示例

要求:

将UART0、SMBus、UART1、/INT0和/INT1分配到管脚(共8个)。

将外部存储器接口配置为复用方式,并使用低端口。

将P1.2、P1.3和P1.4配置为模拟输入(单端输入),以便用ADC2测量加在这些引脚上的电压。

管脚配置步骤:

片内数字外设配置:

即设置XBR0~XBR2,将其中的位UART0EN、SMB0EN、INT0E、INT1E和EMIFLE置1,得到XBR0=05h,XBR1=14h,XBR2=02h。

外部存储器接口配置:

复用方式并使用低端口,令PRTSEL=0,EMD2=0。

输入方式配置:

将P1.4、P1.3和P1.2引脚配置为模拟输入,设置P1MDIN=0E3h。

允许交叉开关:

置位XBARE=1,使得XBR2=42h。

至此,求出的管脚分配为:

表4、管脚分配表

芯片引脚

信号(非固定位置的信号,按优先权排序)

说明

P0.0

TX0

UART0

P0.1

RX0

P0.2

SDA

SMBus

P0.3

SCL

P0.4

TX1

UART1

P0.5

ALE

EMI在低端口,复用方式。

(固定位置)

P0.6

/RD

P0.7

/WR

P1.0

RX1

UART1

P1.1

/INT0

P1.2

AIN2.2

P1.2~P1.4为模拟输入。

(固定位置)

P1.3

AIN2.3

P1.4

AIN2.4

P1.5

/INT1

P2.0~P2.7

A8~A15

EMI在低端口,复用方式。

(固定位置)

P3.0~P3.7

AD0~AD7

配置相关口线的输出方式:

(1)将内部数字外设的输出引脚配置为推挽方式:

包括TX0、TX1。

得到P0MDOUT=11h。

(2)将EMI控制的输出引脚配置为推挽方式:

包括AD0~AD7、A8~A15、ALE、/RD、/WR。

得到P2MDOUT=P3MDOUT=0FFh、P0MDOUT=0E0h。

(1)的P0MDOUT相或,得到P0MDOUT=0F1h。

(3)断开模拟输入引脚内部的输出管,以免损失ADC精度:

设置P1MDOUT=00h(漏极开路),P1=0FFh(高阻态)。

 

F040CAN程序设计参考

一、F040中CAN控制器的结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1