精华内容
下载资源
问答
  • 罗斯蒙特 3420现场总线接口模块数据手册pdf,罗斯蒙特 3420现场总线接口模块数据手册
  • 汽车总线诊断接口

    2018-11-18 10:51:37
    以速腾车型为例,详细介绍了汽车通讯CANBUS系统以及诊断接口
  • TS101SDSP与PCI总线的简易接口设计
  • 摘要:以CH365PCI总线接口和MCX314As运动控制器为核心硬件,自主研发了基于运动控制器的PCI总线运动控制卡。该控制卡能够实现4轴位置、速度和S曲线的加减速控制,具有直线、圆弧、位模式插补功能及自动原位搜寻...
  • PCI9656是PLX公司推出的一种64位、66MHz的PCI接口电路。具有灵活的连接性能和高性能的I/O加速器特性,用于PCI、Compact PCI和嵌入式主机设计。文中主要介绍PCI9656的功能、特点及应用,给出具体应用实例,同时指出...
  • KCC2-2型总线式通用I/O接口
  • 摘要:提出了基于DSP内嵌增强CAN控制器(ECAN)模块的智能总线接口设计方案。该设计创新性地采用了ADI公司最新发布的ADM3053芯片作为ECAN接口驱动,该芯片集成了CAN收发器、信号隔离、DC/DC供电隔离,达到了接口...
  • 摘要:PCI9656是PLX公司推出的一种64位、66MHz的PCI接口电路。具有灵活的连接性能和高性能的I/O加速器特性,用于PCI、Compact PCI和嵌入式主机设计。文中主要介绍PCI9656的功能、特点及应用,给出具体应用实例,同时...
  • 摘要:介绍Analog Device公司的TS101SDSP与PCI的接口方式,分析其硬件组成及工作方式,给出TS101S与PCI9054型总线接口电路实现接口的硬件原理。  关键词:数字信号处理器 TS101S PCI9054 接口 1 引言 DSP+PCI...
  • 智能总线型闸门开度仪PFC80—C可包含CANopen、RS485及SSI拓展信号接口pdf,型号:GP1312C/C2 绝对位置同步纠偏控制器,用于高精度.大量程弧门开度测量及控制。
  • PCI9656是PLX公司推出的一种64位、66MHz的PCI接口电路。具有灵活的连接性能和高性能的I/O加速器特性,用于PCI、Compact PCI和嵌入式主机设计。文中主要介绍PCI9656的功能、特点及应用,给出具体应用实例,同时指出...
  • CAN总线接口电路

    2011-11-26 22:20:08
    和 82C250 作为收发器的 CAN 总线接口电路的硬件设计方法,介绍了控制器和收发器 及看门狗芯片的特点、内部结构、寄存器结构及地址分配,说明一种通用 CAN总线 的设计和开发.探讨应用中需注意的一些问题。
  • 摘要:以CH365PCI总线接口和MCX314As运动控制器为核心硬件,自主研发了基于运动控制器的PCI总线运动控制卡。该控制卡能够实现4轴位置、速度和S曲线的加减速控制,具有直线、圆弧、位模式插补功能及自动原位搜寻...
  • 在分析了当前车量称重技术的基础上,提出了一种基于RS485和工业以太网技术的车辆自动称重系统的设计方案,介绍了系统结构,...试验结果表明,该总线型车辆自动称重系统满足数据采集与控制的要求,实时性强,达到了预期效果。
  • 一款隔离通用CAN收发器...该模块内置CAN总线通讯接口信号隔离及收发器件,具有成本低体积小、使用方便等优点。其主要功能是将CAN总线控制器的逻辑电平隔离转换为总线的差分电平,信号传输过程中隔离电压高达2500VDC。
  • FPGA 实现1553总线接口

    千次阅读 2014-09-05 15:54:43
    FPGA 实现1553总线接口 数字式时分制指令/响应性多路传输数据总线MIL-STD-1553B,总线为半双工传输方式,在总线上传输的数据码应是曼切斯特II双电平码,逻辑1为双极编码信号1/0,逻辑0为双极编码信号0/1,过零跳变...

    FPGA 实现1553总线接口

    数字式时分制指令/响应性多路传输数据总线MIL-STD-1553B,总线为半双工传输方式,在总线上传输的数据码应是曼切斯特II型双电平码,逻辑1为双极编码信号1/0,逻辑0为双极编码信号0/1,过零跳变发生在每一位时的中点。

    总线传输时钟是1MHZ,传输速率1Mb/s,传输内容分为指令字,数据字,状态字,字长为16位加同步头奇偶校验位总共20位,同步头占3位,有效位占16位,校验位占1位。

    1553总线有以下特点:通过同步头可以确定是数据字还是指令字或状态字;如果是指令字或状态字可以有测试手段位(第十位)来确定;数据字在传输数据时最高有效位优先传输;有效位不用位或保留位按逻辑0传输。

    1553总线接口程序主要有两个模块组成:1数据接收模块 2数据发送模块

    数据接收模块,如图一所示:

    图一 

    此模块主要是实现1553总线接口部分,把接收到的串行数据转换为并行数据,经过同步头处理,奇数校验处理,输出16位有效数据。

    端口说明:

    input          dec_clk ;   // 8Mhz decoder clock.

    input          rst_n ;     // Asynchronous reset.

    input          rx_data ;   // Serial transmit data input.

     

    output[0:15]  rx_dword ;  // Output data word receive.

    output         rx_dval ;   // Indicates data on "rx_data" isvalid. 数据信息有效

    output         rx_csw ;    // "rx_dword" has command orstatus word. 指令字或状态字

    output         rx_dw ;     // "rx_dword" has data word.  表示数据字有效

    output         rx_perr ;   // Indicates parity error in"rx_dword". 校验错误

    如下图二,波形图所示,传输前两个字为状态字和指令字(tx_csw),当tx_dw为1时传输数据字,同步头比tx_csw,tx_dw晚半个T1MHZ。

     

     

    数据发送模块,如图二所示:

    图二

     

     

     

    input          enc_clk ;   // 2Mhz encoder clock.

    input          rst_n ;     // Asynchronous reset.yi

    input[0:15]   tx_dword ;  // Input data word transmit.

    input          tx_csw ;   // "tx_dword" has command or status word.

    input          tx_dw ;     // "tx_dword" has data word.

     

    output         tx_busy ;   // Encoder is not ready to accept next word.

    output         tx_data ;   // Serial transmit data output.

    output         tx_dval ;   // Indicates data on "tx_data" isvalid.

     

    附件程序:

     

    //=============================================================================

     

    moduledecoder_1553 (

                // Clock and Reset

                dec_clk ,

                rst_n ,

     

                // Inputs

                rx_data ,

     

                // Outputs

                rx_dword ,

                rx_dval ,

                rx_csw ,

                rx_dw ,

                rx_perr

                ) ;

     

     

    input          dec_clk ;   // 8Mhz decoder clock.

    input          rst_n ;     // Asynchronous reset.

     

    input          rx_data ;   // Serial transmit data input.

     

    output[0:15]  rx_dword ;  // Output data word receive.

    output         rx_dval ;   // Indicates data on "rx_data" isvalid.

    output         rx_csw ;    // "rx_dword" has command orstatus word.

    output         rx_dw ;     // "rx_dword" has data word.

    output         rx_perr ;   // Indicates parity error in"rx_dword".

     

    reg[0:15]     rx_dword ;

    reg            rx_dval ;

    reg            rx_csw ;

    reg            rx_dw ;

    reg            rx_perr ;

     

    reg[0:23]     sync_sftreg ;

    reg[0:4]      data_sftreg ;

    reg            cnt_enb ;

    reg[7:0]      cnt ;

    reg[0:16]     dword_int ;

    reg            sync_csw_reg ;

    reg            sync_dw_reg ;

     

    wire           sync_edge ;

    wire           data_edge ;

    wire           sync_csw ;

    wire           sync_dw ;

    wire           data_sample ;

    wire           parity ;

     

     

    // Shiftin the serial data through shift registrs.

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n ) begin  

          data_sftreg <= 5'd0 ;

          sync_sftreg <= 24'd0 ;

       end

       else begin

          data_sftreg <={data_sftreg[1:4],rx_data} ;

          sync_sftreg <={sync_sftreg[1:23],data_sftreg[0]} ;

       end

    end

     

     

    //Detect transitions.

    assigndata_edge =  data_sftreg[3] ^ data_sftreg[4];

     

    //Detect sync pattern for command and status word

    assignsync_csw = (sync_sftreg == 24'hFFF_000) & data_edge ;

     

    //Detect sync pattern for data word

    assignsync_dw =  (sync_sftreg == 24'h000_FFF)& data_edge ;

     

    // Countnumber of clocks to get complete word after

    //detecting the sync pattern

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n )   

          cnt_enb <= 1'b0 ;

       else if (sync_csw || sync_dw)

          cnt_enb <= 1'b1 ;

       else if (cnt == 'd131)

          cnt_enb <= 1'b0 ;

       else

          cnt_enb <= cnt_enb ;

    end

     

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n )   

          cnt <= 8'hFF ;

       else if (cnt_enb)

          cnt <= cnt + 1 ;

       else if (!cnt_enb)

          cnt <= 8'hFF ;

       else

          cnt <= cnt ;

    end

     

    // Generatedata sample points.

    assigndata_sample =  (~cnt[2] & ~cnt[1]& ~cnt[0]) ;

     

    //register data at every sample point through shift register.

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n )   

          dword_int <= 17'h0000 ;

       else if (data_sample && cnt_enb)

          dword_int <={dword_int[1:16],~data_sftreg[2]} ;

       else if (!cnt_enb)

          dword_int <= 17'h0000 ;

       else

          dword_int <= dword_int ;

    end

     

    //Register command and status sync patter type till the end

    // ofdata word.

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n )   

          sync_csw_reg <= 1'b0 ;

       else if (sync_csw)

          sync_csw_reg <= 1'b1 ;

       else if (cnt == 'd132)

          sync_csw_reg <= 1'b0 ;

       else

          sync_csw_reg <= sync_csw_reg ;

    end

     

    //Register data sync patter type till the end of data word.

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n )   

          sync_dw_reg <= 1'b0 ;

       else if (sync_dw)

          sync_dw_reg <= 1'b1 ;

       else if (cnt == 'd132)

          sync_dw_reg <= 1'b0 ;

       else

          sync_dw_reg <= sync_dw_reg ;

    end

     

    //Register the parallel data word and control outputs.

    always@(posedge dec_clk or negedge rst_n) begin

       if (!rst_n ) begin   

          rx_dword <= 16'h0000 ;

          rx_dval <= 1'b0 ;

          rx_perr <= 1'b0 ;

          rx_csw  <= 1'b0 ;

          rx_dw   <= 1'b0 ;

       end

       else if (cnt == 'd131) begin

          rx_dword <= dword_int[0:15] ;

          rx_dval <= 1'b1 ;

          rx_perr <= ((^dword_int[0:15]) != dword_int[16]) ;  //odd

          rx_csw  <= sync_csw_reg ;

          rx_dw   <= sync_dw_reg ;

       end

       else begin

          rx_dword <= 16'h0000 ;

          rx_dval <= 1'b0 ;

          rx_perr <= 1'b0 ;

          rx_csw  <= 1'b0 ;

          rx_dw   <= 1'b0 ;

       end

    end

     

    endmodule

    // =============================================================================

     

     

    moduleencoder_1553 (

                // Clock and Reset

                enc_clk ,

                rst_n ,

     

                // Inputs

                tx_dword ,

                tx_csw ,

                tx_dw ,

     

                // Outputs

                tx_busy ,

                tx_data ,

                tx_dval

                ) ;

     

     

    input          enc_clk ;   // 2Mhz encoder clock.

    input          rst_n ;     // Asynchronous reset.yi

     

    input[0:15]   tx_dword ;  // Input data word transmit.

    input          tx_csw ;    // "tx_dword" has command orstatus word.

    input          tx_dw ;     // "tx_dword" has data word.

     

    output         tx_busy ;   // Encoder is not ready to accept next word.

    output         tx_data ;   // Serial transmit data output.

    output         tx_dval ;   // Indicates data on "tx_data" isvalid.

     

    reg            cnt_en ;

    reg            cnt_en_reg ;

    reg[5:0]      busy_cnt ;

    reg[0:16]     data_reg ;

    reg  [5:0]    sync_bits ;

    reg            tx_data ;

    reg            tx_dval ;

     

    wire           parity ;

    wire[0:40]    enc_data ;

    wire           data_out ;

     

    // Countnumber of clocks required to encode and serialize

    // theinput data.

    always@(posedge enc_clk or negedge rst_n) begin

       if (!rst_n) 

          cnt_en <= 1'b0 ;

       else if (tx_csw || tx_dw )

          cnt_en <= 1'b1 ;

       else if (busy_cnt == 'd38)

          cnt_en <= 1'b0 ;

       else

          cnt_en <= cnt_en ;

    end

     

    always@(posedge enc_clk or negedge rst_n) begin

       if (!rst_n)  

          cnt_en_reg <= 1'b0 ;

       else  

          cnt_en_reg <= cnt_en ;

    end

     

    always@(posedge enc_clk or negedge rst_n) begin

       if (!rst_n) 

          busy_cnt <= 'd0 ;

       else if (cnt_en)

          busy_cnt <= busy_cnt + 1 ;

       else

          busy_cnt <= 'd0 ;

    end

     

    //Generate busy signal for the user interface.

    assigntx_busy = cnt_en ;

     

    //Generate parity for the given 16 bit word data.

    assignparity = ^(tx_dword) ;

     

    //Register input data word along with generated parity.

    always@(posedge enc_clk or negedge rst_n) begin

       if (!rst_n) 

          data_reg <= 17'h0000 ;

       else if ((tx_csw || tx_dw) &&!cnt_en)

          data_reg <= {tx_dword, parity} ;

       else if (!cnt_en )

          data_reg <= 17'h0000 ;

       else 

          data_reg <= data_reg ;

    end

     

    //Determine the sync pattern based on word type.

    always@(posedge enc_clk or negedge rst_n) begin

       if (!rst_n) 

          sync_bits <= 6'b000_000 ;

       else if (tx_csw)

          sync_bits <= 6'b111_000 ;

       else if (tx_dw)

          sync_bits <= 6'b000_111 ;

       else

          sync_bits <= sync_bits ;

    end

     

    //Generate Manchester encoded data for combined sync pattern,

    // dataword and parity.

    assignenc_data = { sync_bits,

                        data_reg[0], ~data_reg[0],

                        data_reg[1], ~data_reg[1],

                        data_reg[2], ~data_reg[2],

                        data_reg[3], ~data_reg[3],

                        data_reg[4], ~data_reg[4],

                        data_reg[5], ~data_reg[5],

                        data_reg[6], ~data_reg[6],

                        data_reg[7], ~data_reg[7],

                        data_reg[8], ~data_reg[8],

                        data_reg[9], ~data_reg[9],

                        data_reg[10],~data_reg[10],

                        data_reg[11],~data_reg[11],

                        data_reg[12],~data_reg[12],

                        data_reg[13], ~data_reg[13],

                        data_reg[14],~data_reg[14],

                        data_reg[15],~data_reg[15],

                        data_reg[16],~data_reg[16], 1'b0 } ;

                      

     

    //Serialize the encoded data

    always@(posedge enc_clk or negedge rst_n) begin

       if (!rst_n) begin  

          tx_dval <= 1'b0 ;

          tx_data <= 1'b0 ;

       end

       else if (cnt_en || cnt_en_reg) begin 

          tx_dval <= 1'b1 ;

          tx_data <= enc_data[busy_cnt] ;

       end

       else begin  

          tx_dval <= 1'b0 ;

          tx_data <= 1'b0 ;

       end

    end

     

    endmodule

    //=============================================================================

     

     

    仿真程序:

    //=============================================================================

     

    moduletest_1553 ();

     

     

    reg        enc_clk ;

    reg        dec_clk ;

    reg        rst_n ;

    reg[15:0] tx_dword ;

    reg        tx_csw ;

    reg        tx_dw ;

     

    wire       tx_data ;

    wire       tx_dval ;

    wire       serial_data ;

     

    encoder_1553u1_encoder (

                // Clock and Reset

                .enc_clk    ( enc_clk ),

                .rst_n      ( rst_n ),

     

                // Inputs

                .tx_dword   ( tx_dword ),

                .tx_csw     ( tx_csw ),

                .tx_dw      ( tx_dw ),

     

                // Outputs

                .tx_busy    ( ),

                .tx_data    ( tx_data ),

                .tx_dval    ( tx_dval )

                ) ;

     

    assignserial_data = (tx_data & tx_dval) ;

     

    decoder_1553u1_decoder (

                // Clock and Reset

                .dec_clk    ( dec_clk ),

                .rst_n     ( rst_n ),

     

                // Inputs

                .rx_data    ( serial_data ),

     

                // Outputs

                .rx_dword   ( ),

                .rx_dval    ( ),

                .rx_csw     ( ),

                .rx_dw      ( ),

                .rx_perr    ( )

                ) ;

     

     

    initialbegin

       enc_clk <= 1'b0 ;

       dec_clk <= 1'b0 ;

       rst_n   <= 1'b0 ;

       tx_dword <= 16'd0 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

    end

     

    always#500 enc_clk = ~enc_clk ;

    always#125 dec_clk = ~dec_clk ;

     

    initialbegin

       repeat (10) @(posedge enc_clk) ;

       rst_n  <= 1'b1 ;

     

       repeat (39) @(posedge enc_clk) ;

       tx_dword <= 16'h5555 ;

       tx_csw  <= 1'b1 ;

       tx_dw   <= 1'b0 ;

       repeat (1) @(posedge enc_clk) ;

       tx_dword <= 16'h0000 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

     

       repeat (39) @(posedge enc_clk) ;

       tx_dword <= 16'hABCD ;

       tx_csw  <= 1'b1 ;

       tx_dw   <= 1'b0 ;

       repeat (1) @(posedge enc_clk) ;

       tx_dword <= 16'h0000 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

     

       repeat (39) @(posedge enc_clk) ;

       tx_dword <= 16'hFFFF ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b1 ;

       repeat (1) @(posedge enc_clk) ;

       tx_dword <= 16'h0000 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

     

       repeat (39) @(posedge enc_clk) ;

       tx_dword <= 16'h1234 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b1 ;

       repeat (1) @(posedge enc_clk) ;

       tx_dword <= 16'h0000 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

     

       repeat (5) @(posedge enc_clk) ;

       repeat (39) @(posedge enc_clk) ;

       tx_dword <= 16'h5678 ;

       tx_csw  <= 1'b1 ;

       tx_dw   <= 1'b0 ;

       repeat (1) @(posedge enc_clk) ;

       tx_dword <= 16'h0000 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

     

       repeat (5) @(posedge enc_clk) ;

       repeat (39) @(posedge enc_clk) ;

       tx_dword <= 16'hAAAA ;

       tx_csw  <= 1'b0 ;

       tx_dw    <= 1'b1 ;

       repeat (1) @(posedge enc_clk) ;

       tx_dword <= 16'h0000 ;

       tx_csw  <= 1'b0 ;

       tx_dw   <= 1'b0 ;

     

     

       repeat (100) @(posedge enc_clk) ;

       $display("---INFO : Simulation Ended,Check waveform");

       $finish ;

    end

     

    endmodule

    展开全文
  • 总线型拓扑结构

    千次阅读 2011-11-07 10:04:37
    总线拓扑结构采用一条单根线缆做为传输介质,所有的站点都通过相应的硬件接口直接连接到传输介质上,或称总线上。任何一个节点信息都可以沿着总线向两个方向传播扩散,并且能被总线中任何一个节点所接收,所有的点点...

     总线拓扑结构采用一条单根线缆做为传输介质,所有的站点都通过相应的硬件接口直接连接到传输介质上,或称总线上。任何一个节点信息都可以沿着总线向两个方向传播扩散,并且能被总线中任何一个节点所接收,所有的点点共享一条数据通道,一个节点发出的信息可以被网络上的多个节点接收。如图5-1所示。

      图5-1 总线拓朴结构

     

    总线上传输信息通常多以基带形式串行传递,每个节点上的网络接口板硬件均具有收、发功能,接收器负责接收总线上的串行信息并转换成并行信息送到PC工作站;发送器是将并行信息转换成串行信息后广播发送到总线上,总线上发送信息的目的地址与某节点的接口地址相符合时,该节点的接收器便接收信息。由于各个节点之间通过电缆直接连接,所以总线拓扑结构中所需要的电缆长度是最小的,但总线只有一定的负载能力,因此总线长度又有一定限制,一条总线只能连接一定数量的节点。

     

    因为所有的节点共享一条公用的传输链路,所以一次只能由一个设备传输。需要某种形式的访问控制策略、来决定下一次哪一个站可以发送.通常采取分布式控制策略。

      发送时,发送站将报文分成分组.然后一次一个地依次发送这些分组。有时要与其它站来的分组交替地在介质上传输。当分组经过各站时,目的站将识别分组的地址。然后拷贝下这些分组的内容。这种拓扑结构减轻了网络通信处理的负担,它仅仅是一个无源的传输介质,而通信处理分布在各站点进行。

      在总线两端连接有端结器(或终端匹配器),主要与总线进行阻抗匹配,最大限度吸收传送端部的能量,避免信号反射回总线产生不必要的干扰。

    总线型拓扑结构的优点:

      (1) 结构简单灵活,非常便于扩充,网络响应速度快。

      (2) 设备量少、价格低廉、安装使用方便。

      (3) 某个站点失效不会影响到其他站点。

      (4) 共享资源能力强,极便于广播式工作,一个节点发送的数据帧所有节点都可接收。

      (5) 所需电缆长度很短,减少了安装费用,易于布线和维护。

      (6) 易于扩充,在任何点都可将欲增加的新站点接入或者通过中继器加上一个附加段来增加长度。

      (7) 多个节点共用一条传输信道,信道利用率高;

      (8) 传输速率高,可达l-l0Mbps。

      总线型拓扑结构的缺点:

      (1) 总线拓扑的网不是集中控制,故障检测需在网上各个站点进行,使故障诊断困难。

      (2) 如果传输介质损坏整个网络将不可瘫痪。

      (3) 在总线的干线基础上扩充,可采用中继器,但此时需重新配置,包括电缆长度的剪裁,终端器的调整等。

      (4) 接在总线上的站点要有介质访问控制功能,因此站点必须具有智能,从而增加了站点的硬件和软件费用。

      (5) 所有的工作站通信均通过一条共用的总线,导致实时性很差。

    展开全文
  • 随着电力电子器件技术的发展,大功率器件在轨道交通、直流输电、风力发电等领域的市场迅猛发展,其中以IGBT器件表现尤为突出,在具体的应用工况中,每一个IGBT模块都需要一个专门的驱动器,IGBT驱动器对IGBT的运行...
  • 目前,用于串行通讯的接口标准包括:rs-232、rs-422、rs-423和rs-485。rs-232是早的串行接口标准,广泛应用在短间隔、较低波特率串行通讯中。其后发展起来的rs-422、rs-485是平衡传送的电气标准,比起rs-232非平衡的...
  • 本文提出的芯片内部总线-非总线混合结 构多状态机控制制定内部通讯协议的几个重 点考虑的问题以及协议本身顶层结构的总体考 虑和实现等都可以作为典型设计方法应用于各种 大型接口电路的VLSI 总体设计本文对传输安 ...
  • 导读:日前,作为全球领先的电子元器件企业Molex公司宣布其最新的垂直DuraClik 2.00mm间距线对板连接器。此器件提供了最佳的空间节省和PCB保持力,能够在严苛的汽车环境中实现可靠的接插。  据了解,Molex的...
  • CAN总线和RS485总线的定义CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的之一。 在...
  •  TI公司的TMS320LF2407DSP微控制器以其处理能力强,外设功能模块集成度高及存储器容量大等特点广泛应用于数字化控制与通信领域。CAN总线控制器与TMS320LF2407微控制器连接,可以实现CAN总线 的通信。TMS320LF2407...
  • 本文提出了基于DSP内嵌增强CAN控制器(ECAN)模块的智能总线接口设计方案。该设计创新性地采用了ADI公司最新发布的ADM3053芯片
  • 介绍了采用PHILIP公司生产的控制器局域网的高度集成的通信控制器SJA1000和82C250作为收发器的CAN总线接口电路的硬件设计方法,介绍了控制器和收发器及看门狗芯片的特点、内部结构、寄存器结构及地址分配,说明一种...
  • 文中给出一种基于SIP1581微控制器的USB2.0接口实现方案,同时给出它的软硬件设计方法。  关键词:通用串行总线 接口电路 固件 驱动程序 1 引言 通用串行总线(USB)是近年来开发的一种串行总线标准,主要用于...
  • 本文所设计的数字化仪是基于高性能FPGA芯片实现的,FPGA承担了绝大部分的控制和数据处理...在设计时将FPGA分成高速A/D接口模 块、数据降速模块、调理通路控制模块、存储接口模块、PXI接口控制模块等主要功能模块设计。
  • 和82C250作为收发器的CAN总线接口电路的硬件设计方法,介 及看门狗芯片的特点、内部结构、寄存器结构及地址分配,说明一种通用CA 的设计和开发.探讨应用中需注意的一些问题 关键词:CAN总线;控制器;收发器;电
  • 摘要:总线型低压差分信号(BLVDS)是一种性能优良的物理层接口标准。本文介绍一种基于总线型LVDS的通信系统方案,以及利用FPGA芯片实现系统核心模块的设计方法。该方案可广泛使用在高速通信领域,具有较高的应用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 940
精华内容 376
关键字:

总线型接口