一.基本概念 1、什么是现场总线? 答:现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、互联、多变量、多点、多站的通信网络。IEC对现场总线(Fieldbus)一词的定义为:现场总线是一种应用于生产现场,在现场设备之间,现场设备与控制装置之间实行双向、串行、多节点数字通信技术 2、数据编码分几种?什么是曼彻斯特编码? 答:数据编码有单极性码、双极性码、归零码、非归零码、差分码、曼彻斯特码和模拟数据码。 曼彻斯特编码:常用的基带信号编码。它具有内在的时钟信息,因而能使网络上的每一个系统保持同步。在曼彻斯特编码中,时间被划分为等间隔的小段,其中每小段代表一个比特。每一小段时间本身又分为两半,前半个时间段所传信号是该时间短传送比特值的饭吗,后半时间段传送的是比特值本身。 3、计算机局域网拓扑结构最常见的有哪几种? 答:计算机局域网拓扑结构主要有:星型拓扑结构、环形拓扑结构、总线型拓扑结构和树形拓扑结构。 4、现场总线控制系统与传统控制系统相比有什么优点? 5、什么是介质访问控制方式?常用的有哪几种? 答:在总线和环形拓扑中,网络设备必须共享传输线路。为解决在同一时间有几个设备同时争用传输介质,需要有某中介质访问控制方式,以便协调各设备访问介质的顺序,在设备间交换数据。在随机访问方式中,常用的争用总线技术为CSMA/CD。在控制访问方式中则常用令牌总线、令牌环,或称之为标记总线、标记环。 6、CAN现场总线的数据帧由哪几部分组成? 答:CAN现场总线的数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场和帧结束。 3
二.简述CRC检错码的工作原理。根据下列条件计算余数多项R(X)。 发送数据BIT序列为10101001011(f(x)) 生成多项式BIT序列为11001(G(X)) f(x)*24=101010010110000; G(X)=11001; f(x)*24/ G(X)=Q(X)+ R(X)/G(X); 按模2运算,R(X)=1000; 答:CRC检错码的工作原理:CRC校验方法是将要发送的数据比特序列当作一个多项式f(x)的系数,在发送方用收发双方预先约定的生成多项式G(x)去除,求得一个余数多项式。将余数多项式加到数据多项式之后发送到接收端。接收端用同样的生成多项式G(x)去除接收数据多项式f(x),得到计算余数多项式。如果计算余数多项式与接收余数多项式相同,则表示传输无差错;如果计算余数多项式不等于接收余数多项式,则表示传输有差错,由发送方重发数据,直到正确为止。 发送数据BIT序列为10101001011(f(x)) 生成多项式BIT序列为11001(G(X)) f(x)*24 =101010010110000; G(X)=11001; f(x)* / G(X)=Q(X)+ R(X)/G(X); 按模2运算,R(X)=0000
三. CANBUS 硬件节点设计 2. 采用你熟悉的一种单片机或单片微控制器设计一CANBUS硬件节点电路,使用SJA1000独立 CAN控制器,假设节点号为18,通讯波特率为250Kbps。 BTR0=01H, BTR1=1CH. 1、 画出硬件电路图。 ACR=0X18; 2、 画出CAN初始化程序流程图,写出ACR、AMR、BTR0、BTR1、OCR寄存器。 AMR=0XE7; 开始 OCR=0XFA; 置复位请求为高(置CR.0为1) 1. 硬件电路图: 置验收码寄存器ACR 置验收屏蔽寄存器AMR AT89S52 (决定节点号) RST IMP708 SJA1000 P10 P27 P11 P26 CS MODE +5V RESET MR +5V P12 P25 V总线定时设置 SS1 RST RESET VCC 0.1μS P13 P24 V +5V F SS2 NC GND 设置总线定时寄存器0(BTR0) P14 P23 VSS3 VDD3 设置总线定时寄存器1(BTR1) P15 P22 V PFO PFI DD2 决定位周期 P16 P21 V DD1 + 0.1μF P17 P20 NC CLKOUT 10μF RXD 22pF TXD P00 AD0 XTAL1 设置输出控制寄存器OCR(FAH) INT1 P01 AD1 P34 P02 AD2 fosc2 16MHz (定义总线驱动特性) P35 P03 AD3 22pF P04 AD4 XTAL2 VCC P05 AD5 +5V 设置时钟分频寄存器CDR P06 AD6 TX1 NC 10kΩ PCA82C250 设置CAN工作模式和时钟分频 GND RD P07 AD7 18pF×2 RD CANH WR WR TX0 +5V 0.1μF TXD RS XTAL1 ALE +5V 10kΩ ALE 10kΩ GND CANH 120Ω 开放中断源定时再同步置CR.0为0 fosc1 INT0 +5V VCC CANL 12MHz XTAL2 INT 10kΩ RX0 RXD Vref NC EA CANL +5V 4.7kΩ 返回 RX1 +5V 4.7kΩ