版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ADDR_SJA1000_ADDR = ioremap(0x20000000,0xf);ADDR_SJA1000_DATA = ADDR_SJA1000_ADDR + (0x12);void write_can_reg(char value, int reg)outb(reg, ADDR_SJA1000_ADDR);udelay(5);outb(value, ADDR_SJA1000_DATA);至于为什么是 addr 然后 data ,这是芯片制造者的事,可以参考数据手册。同时 这与dma9000网卡驱动类似。-关键是sjalOOO的地址/数据信号线复用,而 241 0地址数据线分离,所以要
2、模拟 ale 控制。(说到底还是时序,模拟地址)由于ARM、线非复用,而SJA1000总线复用,所以必须通过逻辑产生地址锁 存信号ALE假设该信号由芯片GAL22V1(产生。SJA1000的片选、读写信号均采 用ARM总线信号,ALE信号由读写信号和地址信号通过 GAL产生。在写SJA1000 寄存器时,首先往总线的一个地址写数据,作为地址,读写信号无效,ALE变化产生锁存信号 ;然后写另外一个地址,读写信号有效,作为数据。上述逻辑完全 通过GAL产生。此外,CAN总线需要在两线问加一个120欧电阻。2410+sja1000 简单接法1、sja1000的数据总线和arm的数据总线直接连接,ar
3、m的地址线a0与sja1000 的ale连接,sja1000的片选信号通过由arm的bank片选信号与地址a0取或信 号。2、写数据时,先通过arm的数据总线往sja1000送地址信号,此时a0置1;然 后将a0置0,再由arm的数据总线往sja1000送数据信号。3、读数据时,同样先通过arm的数据总线往sja1000送地址信号,然后取数。CAN 总线通信控制芯片 SJA1000 的读写CAN 总线通信控制芯片 SJA1000 没有提供单独的地址线 , 而使用可以与 Intel 和 Motorola 系列微控制器兼容的分时复用地址 / 数据线。在一个读写周期内 , 微控制器首先输出操作地 址
4、并使地址锁存信号 ALE有效,SJA1000在ALE信号的下降沿将操作地址锁在片内 ;之后微处理器发出读写信号进行数据传输。但S3C44B0X的数据线和地址线是分离的 ,对SJA1000的读写操作需要模拟微控制器,先在数据线上写一个操作地址,并模拟产生一个 ALE信号锁存这个地址,之后进行正常的读写操作。系统使用地址线ADDR0区分地址传输和数据传输:写奇地址时,不选通SJA1000芯片,但给出一个有效的模拟 ALE信号;读写偶地址时,选通 SJA1000读写数据。另外,系统同时有两路CAN总线接口,读写操作根据地址线 ADDR1区分 两个SJA1000芯片,两个片选信号和 ALE信号都要通过
5、 GAL芯片产生,各信号如图所示。 一匸二 r册一、 _-V)“ Ell 1 址_ 1ill 一 1 I ,_.T J图SJA1000控制信号的产生图中虚线是向SJA1000传输和锁存地址的过程,实线是读写操作的过程。用ABEL语言书写的各信号产生逻辑式为:CAN-CS = nGCS4 # ADDR0 ;( #- 或)ALE = ! nWE &ADDR0 & ! n GCS4 ;对SJA1000的操作地址如下:地址锁存向0x08000001端口写地址;数据读写通过地址 0x08000000。(地址如何计算, 2410 32位地址总线,用到 30位,由addr29 : 27选通 ngcsx)Cj
6、iN.CS - AO + nGCS4C.AN-ALt - A0 lnGCS4 * | nVEGA* ,RD - nRDf占首- nWBSja1000重要寄存器:输出控制寄存器(OCR -复位模式下可读写蛊46输出控制寄存器(OCR)的备位功能说明;CAN ;irl: 3BIT 7BIT $BIT &BIT 4BIT 3SIT 23IT 1BIT QOCTP1OCTN1OCPOL 1OCTPOOCTNOOCPOL 0OCMODE1OCMODEOblbO 10-正常模式对于输出控制寄存器的位和输出引脚TX0和TX1的关系,我的理解是OCTPx,OCTN编程驱动器特性:00悬空,01 上拉,10下拉
7、,11-推挽;OCPOLX编程输出端极性,TX的输 出由TXD(输入)和OCTPx,OCTNx OCPOLX决定,网上有人根据表格画出卡诺图求出了输入 输出的关系。OCPOLX为0,当TPX与 TNX并非全关状态时候,OCPOLX为0,输出电平与 TXD一致,为1翻转。TPX与 TNX全关状态输出管脚悬空。表48输出引Kwa:注1TXDOGTPXOGTNKOCPOLXTPXTNXTXX(4)悬空XC0X关关悬空上扭0010关开低T010关其悬空0011关兴畚空1011关开1K下拉D100关其悬空t100开黄高0101开关高T101关悬空上拉0110关开低1110开兴高0111开关高T111关开
8、所以电路中要用到 TX(使TX0与TXD输入相同,为什么?)并使TX1设置悬空,OCTPOQCTN,OCPOL要设为110,OCTP1,OCTN,1 OCPOL就设为000,则输出控制寄存器设置应该为0x1a时钟分频寄存器(CDR49 吋弾分频寄坯器(CDR)笛位的功能说咲:CAN地址31BIT 7BIT 6BIT 5BIT 4BIT 3BIT 2017 1BIT 0CAN複成CBPRXINTENW关闭时钟CD.2CD.1CD.01此位不能被写。读值总为山一般用不到sjalOOO的clkout管脚,所有bit3置1, CD.2 CD.0用来设置clkout管脚上 的频率,这里也用不上。Bit5
9、是允许接受中断输出,当一条已接收的信息成功的通过验收滤波器一位时间长度的接收中断脉冲就会在TX1引脚输出(帧的最后一位期间),发送输出阶段应该工作在正常输出模式。BIT6,CBP置位,激活SJA1000的比较器旁路功能,如果这个功能被使能,施密特触发器 有效,内部的传播延迟tD2比接收比较器延迟的tD1要小得多这在最大总线长度(can协议规约)上有积极的影响Bit7 : 0 basic 模式,1 pelican总线定时寄存器(BTR :该寄存器很重要,要设定can总线的位定时参数,这个要从总线原理入手,不是一下就能理解的,但给定了需要的参数后要会怎么编程设定。*44总线定时寄存器。(BTIR0
10、)的位功能CAN地址BIT 7BIT 6BIT 5BIT 4BIT 3BIT 2BIT 1BIT DSJW.1SJW,0BRP.5BRR4BRP.3BRP, 2BRP.1BRP.O表45总线定討寄右MM (BTR1 的各怔功能说明匚C盘N地址7BIT 7BIT 6BIT 5BIT 4BIT 3BIT 2BIT 1BIT 0SAMTSEG2 2TSEG2.1TSEG2BTSEG1.3TSEG12TSEG1 1TSEGtOBRP波特率预分频值CAN系统时钟tSCL的周期是可编程的 而且决定了相应的位时序 CAN系统时钟.由如下公 式计算tSCL=2 tCLK (32 BRP.5+16 BRP.4+
11、8 BRP.3+4 BRP.2+2 BRP.1+BRP.0+1)这里tCLK =XTAL的频率周期=1/fXTAL(SjalOOO内部频率基准源F_BASE= Fclk /2,即外部晶振频率Fclk的2分频 注意任何应用中,当利用外部晶振作为基准源的时候,都是先经过 2分频整形 的。)一个位时间(位速率就是其倒数):it = SYMC SEG * lTSEGL +tTSEG2如下图:tSYNCSEG=1*tSCL (固定长度)tTSEG仁tSCL*(8 TSEG1.3+4 TSEG1.2+2 TSEG1.1+TSEG1.0+1)tTSEG2=tSCL*(4 TSEG2.2+2 TSEG2.1+
12、TSEG2.1 + 1)oscillatorCAN system dock聊in呱呱侧minrm伽Baud Rate Presca er (BfP) i usarcBTirstJ tejCAN bit periodTSB31S-ser Jefirat 轉sample point(s)T$32(LserdefiraO j注:3是一个时间粉戦TQ)的持续討间控制寄存器不同位的含义如F!匚见归卜31; W 5)BRP:波持率预设值寄来器BTRD范團:B4BRP=32 BRP.S+ieBRP+B BRP.34 BRP.2*2 BRP+1 BRP.0+1采样樓式寄存醤BTR1SAM =0:血次采样模忒(
13、5)SAM =1: 3次采样蟆貞(6)SJW:同步斟1转童度寄存冷BTRO范th 1-4SJW - tsjVj - 2SJW. 1 -SJW,0 41(7)t&CLSYNC_SEGt同步段固定值匸1.-tsvhjr SFnSYNC SEG -1(&)SCLTSEG1:位定时a i寄疔爲BTR1范剧:116TSEG1 - t_raEG: -8TSEG1.3*4 TSEG1.2+ 2TSEG1,1 +TSEG1X*1(9):SCLTSEG2;雌K段2寄存器BTR1范削;1-8TSEG2 - lTSEG: -4TSEG2 2 *2TSEG2.1+ TSEG20+ 1(10)lSCL注嵐 TSEG2必
14、细览挣2 单次采洋模式)剧23 3采澤模式)同步跳转宽度(sjw )定义了每一位周期可以被重新同步缩短或延长的时钟周期的最大数目:tSJW=tSCL (2 SJW.1+SJW.0+1)【总结】:就以上关系式来看,首先可以设定一个位周期由几个段组成,这样1/( ( TEG1+TEG2+)*tSCL)=1/tBit= 波特率(注意TEG的值是十六进制换算后加 1,见上表)其中tSCL=2tCLK*BRP(tCLK为sjalOOO外部晶振)(同上,BRP也是换算后加1),由此可由 指定波特率及给定 can总线频率去定 BRP及TEG的设定。问题在于:不知道 TEG(即相位缓冲段)的分配不同有何影响,
15、和同步跳转宽度设定的实际 意义。查找资料得出,以上的计算是理论值。“在实际的网络通信中由于存在传输的延时、不同节点的晶体的误差等因素,使得网络CAN的波特率的计算变得复杂起来。CAN在技术上便引入了重同步的概念,以更好的解决这些问题。这样重同步带来的结果就是要么时间段1(Tseg1)增加TSJW(同步跳转宽度 SJW+1,要么时间段减少 TSJVy因此CAN的波特率实际上有一个范围:1/(Tbit+Tsjw)Tscl2 , Tseg2 2TSJV,Tsegl Tseg2”http:/blog.ch in au nix. net/u3/93821/showart_2050196.html【举例说
16、明】:外部晶振 24M要求波特率133k, can总线频率1.33M (时间冲量长度751.87ns ),同步跳转宽度 3,时间段 1 长度为 6,时间段 2 长度为 3,每位采样一次。显然这是一个位周期十个段的,可设置好TEG1 TEG2及TJW和SAVy接下来就是计算 BRP根据 tBit/10=2tCLK*BRP 得 BRP=fClk/(2*10fBit)=24/(2*10*1.33)验收代码及验收屏蔽寄存器( ACR、AMR)满足 ID.10-ID.3=AC.7-AC.0 |AM.7-AM.0= 11111111方程的即可接收。BasicCAN 模式里的验收滤波:在这个模式SJA100
17、0可以即插即用地取代 PCA82C200 (硬件和软件),因此验收滤波功能 与PCA82C200的一样,也可以使用。这个滤波器是由两个8位寄存器控制,验收代码寄存器 ACR 和验收屏蔽寄存器 AMR。 CAN 信息的 ID 的 8 个最高位和这些寄存器里值相比较。 因此可以定义若干组的 ID 为被任何一个节点接收。例如:验收代码寄存器 ACR: 01110010验收屏蔽寄存器 AMR: 0011100011 位 ID 信息: 01XXX010XXX在验收屏蔽寄存器里 1 的位置上, ID 在这位的任何值都被允许,对于三个最低位同样,因 此 64 个不同的 ID 在这个例子里可被接收, 其他位置
18、的位必须等于验收代码寄存器相应位 的值。命令寄存器 CMR ( PeliCAN 模式下没有这个寄存器)一般情况:执行读取命令 -0x04 ,即释放接收缓冲器。 读接收缓冲器之后 CPU 可以通过设置释放接收 缓冲器位为 1 来释放 RXFIFO 的内存空间,这样就会导致接收缓冲器内的另一条信息立即 有效,如果没有其它有用的信息,就复位接收中断执行写入命令一0x01,即发送请求位置 1.可通过CMR.1中止发送位置1取消发送;控制寄存器( CR)( PeliCAN 模式下没有这个寄存器)0x01 进入复位模式。进入工作模式要将 CR.0 置 0, 复位请求位接收到一个下降沿后,SJA1000回到工作模式。该寄存器还设置使能中断等位,详见 datasheet 。ps: CAN 协议规定的最小时间 128 个总线空闲信号 (总线空闲信号是什么? )中断寄存器( IR )中断寄存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手机购机协议书
- 苗木抵债协议书
- 苹果退款协议书
- 蜀大侠合同协议
- 认种树木协议书
- 让利协议书模板
- 评估房产协议书
- 试管婴儿协议书
- 布匹购销协议书
- 2025六枝特区公共汽车运输公司招聘16人备考核心题库及答案解析
- 2026年湖南食品药品职业学院单招职业适应性测试题库带答案详解
- 《AQ 4272-2025铝镁制品机械加工粉尘防爆安全规范》专题研究报告
- 2025年度威海文旅发展集团有限公司招聘工作人员25人笔试参考题库附带答案详解(3卷)
- T-CNHC 4-2025 昌宁县低质低效茶园改造技术规程
- 2025年手术室护理实践指南试题(含答案)
- 2025年山东省政府采购专家入库考试真题(附答案)
- 2025兵团连队职工试题及答案
- 2025年煤矿安全规程题库(附答案)
- 雨课堂学堂云在线《人工智能原理》单元测试考核答案
- GB/T 30340-2025机动车驾驶员培训机构业务条件
- 2025年博物馆巡回展览合同协议
评论
0/150
提交评论