企业资质

厦门哲讯电气自动化有限公司

普通会员7
|
企业等级:普通会员
经营模式:
所在地区:福建 厦门
联系卖家:
手机号码:
企业地址:
企业概况

厦门哲讯电气自动化有限公司是一家专业提供工业自动化领域的备件服务商,产品品种齐全、价格合理,公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。我们主营PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机......

TRICONEX DO3401

产品编号:845267009                    更新时间:2019-08-15
价格: 来电议定

厦门哲讯电气自动化有限公司

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情

TRICONEX DO3401

引言
  在许多基于DSP的系统设计中,程序代码总是保存在ROM、Flash或其他非易失存储器中,以保证掉电时代码仍存在,因此必须要解决引导装载的问题。自举引导(Bootload)是指系统上电时,DSP将一段存储在外部非易失性存储器的代码搬移到内部的高速存储器单元中执行(如片内RAM)。本文以TI 公司的TMS320C6713(以下简称为C6713)浮点DSP和AMD公司的AM29LV040Flash存储器为例,通过JTAG口加载来设计一个完整的引导装载方案。
  TMS320C6713的引导配置
  外部信号BOOTMODE[4:3]决定了C6713的引导配置,在RESET信号的上升沿BOOTMODE[4:3]信号被获取。C6713DSP只有2种引导方式:
  (1)ROM/Flash引导。外部存储器的一部分通过EDMA控制器拷贝到DSP内部地址0处。尽管引导程序在器件从外部复位释放后才开始执行,但在 CPU被保持在内部复位时,这个拷贝就进行了。Flash宽度也通过BOOTMODE[4:3]选择。在Flash宽度小于32bit的情况下,DSP通过EMIF读取时,可以自动将相邻的8bit字节或16bit半字打包形成32bit的指令字,并且这些数值在外部存储器中可以通过设定HD8来确定 endian存储模式。
  (2)主机引导。核心CPU停留在复位状态,器件其余部分保持正常状态。外部主机通过HPI或扩展总线初始化CPU的存储空间。在必要的初始化完成之后,主机在HPI控制寄存器的DSPINT位写1,这个写操作引起DSPINT信号的跳变,从而导致引导配置逻辑使CPU脱离复位状态,然后CPU从地址0处开始运行。
  Flash引导模式的实现
  硬件设计
  C6713引导引脚说明如表1所列。
C6713引导引脚说明
  设计时将DSP主机口引脚HD[4:3]中的HD4通过下拉电阻接地,HD3通过上拉电阻接3.3V电源,即HD[4:3]=01B。C6713的 EMIF含有4个CE空间寄存器,由于Flash加载程序是从CE1空间搬入的,因此DSP的CE1与Flash(AM29LV040)的片选相连,这种连接将Flash的内部地址映射到DSP的090000000处,从而完成了基本的硬件设计。DSP与Flash接口的硬件连接如图1所示。
图1  DSP与Flash的引脚连接
  引导程序的设计
  在对AM29LV040Flash进行读写操作之前,应对其进行擦除,擦除操作需要6个总线周期:
  (1)向555H地址的存储单元写入数据AAH;
     (2)向2AAH地址的存储单元写入数据55H;
     (3)向555H地址的存储单元写入数据80H;
     (4)向555H地址的存储单元写入数据AAH;
     (5)向2AAH地址的存储单元写入数据55H;
     (6)向555H地址的存储单元写入数据10H;
  完成上述操作后,Flash存储器完全擦除。
  在CCS环境下,用C语言编写上述操作如下:
       voidFlash_Erase()
   {
     *(char*)FLASH_ADR1=0AA;
     *(char*)FLASH_ADR2=055;
     *(char*)FLASH_ADR1=080;
     *(char*)FLASH_ADR1=0AA;
     *(char*)FLASH_ADR2=055;
     *(char*)FLASH_ADR1=010;
   }
  根据前面的设计,Flash的内部地址已经映射到C6713的CE1空间,其开始地址为090000000。因此FLASH_ADR1,FLASH_ADR2的定义如下:
       #define   FLASH_ADR1   090000555
     #define   FLASH_ADR2   0900002AA
  汇编源代码文件
  对于C6713而言,DSP上电复位后,EDMA自动从CE1空间拷贝1KB数据(引导代码应定位与此)到地址0处,然后从0地址处开始执行引导代码指令。本引导代码的主要功能是将用户程序段从Flash复制到DSP内部RAM中,然后再跳转到程序的入口处开始执行主程序。在引导程序内复制程序段要使用 EDMA,以快速、灵活地实现DSP存储空间内数据的搬移。数据搬移的源/目的可以是片内存储器、片内外设或外部器件。而此时需要对EDMA的源、目的地址、搬移长度以及基本的传输方式进行相关的设置,如表2所示,然后运用汇编语言编程加入到引导程序即可。
EDMA传输参数设置
  核心引导程序如下:
      .sect“.BootCode”              ;将引导代码分配到BootCode段中
    .global  myBootCode
    .ref_c _int00                    ;C程序的入口地址
     MVKL   .S1EDMA0_OPT    ,A5
     MVKL   . S1050010001  ,B4     ;低16bit写入寄存器
     MVKH   .S1EDMA0_OPT    ,A5
     MVKH   .S1050010001   ,B4     ;高16bit写入寄存器
     STW         .D1B4,*A5          ;装载EDMA的OPT参数
     MVKL   .S1EDMA0_SRA    ,A5
     MVKL   .S1090001000   ,B4     ;低16bit写入寄存器
     MVKH   .S1EDMA0_SRA    ,A5
     MVKH   .S1090001000   ,B4     ;高16bit写入寄存器
     STW.D1B4,*A5                  ;装载EDMA的SRC参数
    ....
    ....
  接下来启动EDMA复制主程序段:CPU可以通过写事件置位寄存器(ESR)启动一个EDMA通道。     ESR中某一位写1时,将强行触发对应的事件。程序如下:
       MVKL   .S1000000001,   B4
     MVKL   .S1EDMA_ESR,     A5    ;低16bit写入寄存器
     MVKH   .S1EDMA_ESR,     A5
     MVKH   .S1000000001,   B4    ;高16bit写入寄存器
     STW   .D1  B4, *A5            ;将ESR第一位置1
     NOP5
        传输结束后,跳转到C程序的入口地址 _c_int00处,开始执行主程序:
     MVKL   .S2_c_int00,   B0
    MVKH   .S2_c_int00,   B0
     B.S2B0
     NOP5
  链接命令文件
  链接命令文件是DSP开发过程中生成可执行文件(.out)必不可少的一个环节。它对段的功能有2 个,一是将由汇编器产生的COFF格式的OBJ文件作为输入块,当有多个文件进行链接时,将相应的段结合在一起生成可执行输出模块;二是重新定位,将输出的段分配到存储器中的指定地址。
  编写命令文件时,有时希望将代码装入存储器的一个地方,而在另一个地方运行。例如:一些关键的执行代码必须装在系统的ROM中,但希望在较快的RAM中运行。链接器提供了一个处理该问题的简单方法。利用SECTIONS伪指令选项可让链接器定位2次。第一次使用装载关键字load设置装入地址,再使用运行关键字run设置它的运行地址。装载地址确定段的原始数据或代码装入的地方,而任何对段的引用则参考它的运行地址。在应用中必须将该段从装载地址复制到运行地址,本引导程序便使用EDMA方式完成这一复制过程。链接命令文件(d)如下:
       MEMORY
     {
     VEC:ORG=000000000,LEN=000001000
     PMEM:ORG=000001000,LEN=000004000
     CEVEC:ORG=090000000,LEN=000001000
     CEPMEM:ORG=090001000,LEN=000004000
     }
  以上设置是将整个存储器分成具有不同名称的存储区域。VEC,PMEM代表内部RAM的两块存储空间,而CEVEC,CEPMEM代表Flash内的两块存储空间。对目标文件中各段的加载地址和运行地址在SECTIONS段实现。
       SECTIONS
     {
    .BootCode:load=CEVEC;用户的引导代码段定位在Flash的最开始。
    .text:load=CEPMEM,run=PMEM;用户程序段装载于
     Flash空间,而运行在C6713内部RAM中。
     }
  通过JTAG口的Flash在线烧写
  用汇编语言编写一个搬移程序,内容仅是Flash的擦除过程,以及对EDMA的多次操作构成的由片内RAM到片外Flash的写入过程。把该搬移程序直接嵌入主程序中,这样程序代码长度很短,不会占用过多的主程序空间。在主机引导方式下,通过JTAG口load后,手工更改PC值使其指向这段代码,控制其运行结束,完成自举程序的在线烧写。而在此之后,这段短小的搬移程序不会被主程序中任何一段代码所调用。
  结束语
  工程实际应用表明该方法是切实可行的,与以往Flash引导程序编写方法相比避免了目标代码的格式转换,利用EDMA直接搬移,无需编程器,Flash也不需频繁拆卸,利于工程上的快速开发。
ME6906MYYBY9M0178
 
F384-CPU 
 
BK4000 
 
ETRI 75GF026AC11
 
SMT SWISS CNC 571-044-007 
 
Heckler&Koch   050.100.024.05 
 
Festo DRQD-16-180-PPVJ-A-AR-ZW   175801 S141
 
SICK WL18-3P130 
 
SICK VT180-P410
 
UFD11A-00 
 
Siemens  PS S7-200 6ES7 214-1AC01-0XB0 
 
Festo LFR-D-MIDI  185763 S308
 
mayr ROBATIC?-E 3/500.200.0S
 
SICK WS160-G430/WE160-F430
 
Siemens 3VF5211-1BH41-7KB1
 
Pneumatik Atlas PDD 006
 
SIEMENS   6ES5 700-8MA11
 
SPG S8I25
 
5IK60GU-SWM 
 
SIEMENS   6SL3255-0AA00-4JA0 
 
Norgren C72S-D0295 
 
GV2 M20 021091 
 
VAP-HH1 
 
Rexroth VT 11024-16 
 
SKF 22218 
 
Festo DNC-63-450-PPV-A-KP 163398 
 
Parker SPZBE1010E32N 
 
Parker D1SE83BNJW
 
DPM/PT100/B5   635-054  
 
DESTACO 82L25-103B8H0 
 
Parker SPZB1010E32S 
 
Dunkermotor GR63X25 
 
KEB 13AF506-3585 
 
MT-H1AAD10A111100 
 
KWB ID:2531095 P:400V S:110V/16A
 
Siemens  Sinumerik 6FX1126-1AA03 
 
KM6 6-ON PK110 
 
4LF45N-3 
 
BBS-41-1.5 
 
CE032C01N12N10 
 
QY81P  
 
QX 81 
 
QJ71C24N-R4 RS-422/485 
 
Q61P 
 
Q68B 
 
Siemens 3VL9300-3HR20
 
NZM3-XAD630 
 
Pfannenberg PA 110 
 
Stück Finder Koppelrelais  49.52.9.024.0050 
 
d20DN15
 
KG5043 
 
WIELAND WIPOS 81.000.6141.0 
 
AC015S   
 
MarelliMotori MOT.3 MAA 63 MC2-B3 
 
Moeller PS4-101-DD1 
 
PF2W720-F04-67  
 
QX 40-S1
 
Q64AD 
 
Q61P-A2 
 
MCS 20 - 230/24
 
PKZM4-58 
 
PLC-RSP-24DC/21AU   
 
ABB  XLP 00 
 
RSNT 5/2 E 
 
Trafo   160-0057
 
PMW-10 
 
Stück Finder Relais  55.34.9.024.5040
 
LEUZE   96K-1080-T2-24 + SLSE 96K/P-1070-T2-21 
 
MS56C/2
 
KEB POWERBOX 90.98.200-CE09 
 
Siemens 3TF44 22-0AP0 
 
SWITCHmaster SM-M2
 
SMC IZE112-L
 
Hahn+Kolb 7221-42  
 
CKD LCS-25-20
 
SMC, CXSL15-30R 
 
GINO 3G3IV-PLKEB41P5-D
 
S8PS-15024CD
 
BALLUFF BES 516-3009-SA2-MO-C-05 BES0341
 
Rexroth Star 1666-894-10
 
Festo CPV-14-VI 18210 
 
F376-OPC 
 
Siemens Simatic S7 6ES7131-1BL01-0XB0 
 
Siemens Simatic S7 6ES7131-1BH01-0XB0 
 
Siemens  3RU1146-4MB1 
 
Festo ADVU-63-25-A-P-A
 
EUCHNER EGT1-2000 001732 
 
SMC CXSL10-30 
 
SIEMENS 6SU59 31-0CB21 
 
Weld Fase F360-IOB 
 
Weld Fase F356-IOE 
 
Weld Fase F383-COM 
 
DM-485CB-10 
 
Georg Fischer +GF+ 161.546.065 
 
Siemens 6ES7132-1BL00-0XB0   
 
Siemens 3RK1903-1BE00 
 
XVBC8B4  
 
Festo CPE14-M1BH-5/3G-QS-8 
 
Festo ADN-80-60-I-P-A 
 
ENDRESS + HAUSER FTL 120 Z 917602-0001 
 
SB0210-2E1 112U-210 AB 5 
 
Festo VPEV-1/8-M12 
 
Bosch-Rexroth  5724550220 
 
PTBF0010KCSA 
 
3F480-016.225230c
 
3F480-032.225230c 
 
MITSUBISHI MR-JCCBL20M-H 
 
MITSUBISHI MR-JHSCBL20M-H 
 
Wenglor ZW600PCT3  
 
Siemens Simatic 6ES7 314-1AE04-0AB0 
 
ifm PN7024 
 
Siemens   6ES7 212-1AA01-0XB0
 
WAGO 750-333 
 
ifm efector 200 OU5018  
 
6ES7400-1TA01-0AA0
 
FANUC A03B-0801-C009 
 
SMC ZSE1-00-14L-Q ZSE1-00-14L-Q 
 
Bernstein 601.2431.877 
 
Cr36/11
 
Siemens  6ES7 407-0KA01-0AA0 
 
F381-ETH 
 
RPS 60 
 
FLUTEC 913800-157 
 
MK45-1 DN15-25 
 
IFM  AC1218
 
Pilz  240307
 
WAGO 750-303
 
SW-110-8-126-100-1PH3-KAL-10-GGVD-K350-F
 
CM2-BP04ERO 
 
Horn 312.1027.7994 TN32 
 
22218KMBW33
 
STATRON 5400.2 
 
YM24PAH2ANZ 
 
3UF7010-1AU00-0
 
HYDAC VR 2 C.1 
 
Siemens 3NC1093
 
ifm efector100 KB5004
 
ifm efector150 KG5066 
 
6FX1120-5BB01 
 
RX1A48D51VC 
 
DNC-32-40-PPV-A-S2 
 
5GU12.5KB 
 
ABL8 REM24050 
 
Phoenix Contact IBS ST ZF 24 
 
Weld Fase F353-ADC 
 
Weld Fase F359-MCP 
 
FB-IOT8-1 
 
SIEMENS 6ED1 052-1CC00-0BA6
 
 KUKA Art Nr. 05 71 040 098 
 
ZDPM 25/700 // ISO 6432-Zylinder 
 
VIPA 123-4EJ00 
 
Siemens 3RT 1646-1AP01 
 
SIEMENS Simatic S5 PS3A E24G5/3WRGD DIN 41752  
 
Siemens 3TF48 22-0AP0 
 
Siemens 3TF5022-0AN2 
 
MITSUBISHI Q173DV
 
JZSP-CSP01-05
 
CM2-BP04EAA 
 
CM2-BP04EAO
 
DNC-50-25-PPV-A-KP
 
CST 575/25/6 380/24V  
 
FEN-12/16-60-KF
 
Telemecanique GV3 M40 021307 
 
3UF7110-1AA00-0
 
6AV2100-0AA03-0AA5 
 
4EM5008-0DK00 
 
Siemens Simatic S7  6ES7 193-0CB10-0XA0  
 
SMC 9220-5YO-03F-Q  
 
FANUC   A02B-0076-K002 
 
QY80 
 
PULS ML 60.241 
 
SIV433-IP 
 
ifm   KI5083   
 
SIEMENS 6ED1 052-1MD00-0BA6 
 
Siemens 6FX1116-8AA00  
 
GOEMA 107 321-1BL00 S7
 
Rittal Ablagepult PS 4638.800 
 
Festo MDH-2-2,2-AW-QS-6 
 
Festo  CPA10-M1H-5/3BS 
 
RM35TF30 
 
Novotechnik RFC 4801-636-211-206 
 
SIEMENS 6ED1 055-1CB10-0BA0 
 
EK110000793NEU 
 
Riegler MV 2217G
 
MURR MDN 25-400/24  85901 
 
AUTONICS T4YI-N4NP0C
 
SCHMALZ SMP 15 NOASVD 10.02.02.00567 
 
Bosch CL100 050192-205 
 
BALLUFF BIS009A   C-6002-019-xxx-03-ST11
 
BOSCH 0 821 640 018
 
Siemens  3RV1721-1GD10 
 
Siemens  3RV1821-1GD10  
 
Wieland SNO4003K 
 
Siemens  6EP1 961-2BA00 
 
GV3L32 32A +GVAN11 
 
BCS0062  M12T4D2-PMS80G-S04G 
 
Omron E2KQ-X10ME1 
 
OMRON CJ1W-IC101 I/O 
 
OMRON CJ1W-II101 I/O
 

厦门哲讯电气自动化有限公司电话:传真:联系人:

地址:主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测...

Copyright © 2025 版权所有: 产品网店铺主体:厦门哲讯电气自动化有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。