最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

這個在C6000上外擴的一個輸出端口,很不穩(wěn)定。

作者:boy364 欄目:DSP技術
這個在C6000上外擴的一個輸出端口,很不穩(wěn)定。
    C6000的DSP,用鎖存器LVC574外擴了一個輸出口,輸出口用的是C3空間。接八個發(fā)光二極管,如圖所示。該輸出端口的地址由A7、A8、A9決定(網絡標號用“T”打頭的是由EMIF總線端接33歐電阻的信號)
    CE3空間配置為八位異步存儲器,Space CONTROL Register(CECTL3)中的各項參數(shù)都按最大的配,也就是復位后的默認值0xffffff03.編了個測試程序,讓八個二極管周期性閃爍。把程序放在外部SDRAM時候,只有一個二極管閃爍,把程序放在內部L2 Cache中,有四個閃爍。應該八個二極管都閃爍才對,說明給LVC574的信號沒有正確鎖存。估算了一個,寄存器(CECTL3)配置應該完全能滿足LVC574的建立和保持時間的,但是實際卻是這樣,很是迷惑。

* - 本貼最后修改時間:2006-2-10 11:46:44 修改者:boy364

在c6000上外擴的是個輸出端口

2樓: >>參與討論
boy364
頂起來
 
3樓: >>參與討論
shixiudong
回答:

故障原因:74LVC574在CLK信號的上升沿鎖存數(shù)據,而不是在下降沿。

解決方法:把SN74LVC02換成SN74LVC32,即可解決問題。

回答完畢。

4樓: >>參與討論
boy364
我試一下
確實不一樣,用1G32的話,是在地址或者寫信號失效時(最先失效的那個)產生上升沿(鎖存信號),用1G02的話,是在地址和寫信號都有效時產生上升沿(鎖存信號)。1G32的鎖存信號教1G02來的晚一些。換成1G32后再給大家公布結果,希望能成功。

* - 本貼最后修改時間:2006-2-13 10:39:24 修改者:boy364

5樓: >>參與討論
boy364
郁悶,換上1G32,還是不穩(wěn)定
買了LVC573以后,再換鎖存器看看行不行

* - 本貼最后修改時間:2006-2-13 13:57:38 修改者:boy364

6樓: >>參與討論
lxg133
我也在6000的CE1空間上擴展了8個LED
我也在6000的CE1空間上擴展了8個LED,映射的地址為0x9008 0011,是用邏輯做的,沒遇到什么問題。
沒有仔細分析你的電路,看著蠻復雜的,把我的邏輯貼出來看看,希望有幫助:

//--------------------------------------------------------------------
//           this version is a solution for DM642's EPLD
//                     HARDWARE Version: II
//                        2005.09.16 lxg
//--------------------------------------------------------------------
MODULE top(        system_reset,
                awe,
                aoe,
                are,
                tea22,tea8,tea7,tea6,tea5,tea4,tea3,
                ted,            // data bus [7:0]
                tce1,            // EMIFA ce1
                iic_sel,        // i2c bus SELECT
                dsp_scl0,        // i2c clock
                uart_inta,uart_intb,    // uart cs

                eprom_ce,
                FLASH_ce,
                emifa_oe,
                emifa_dir,
                uart_csa,uart_csb,
                dsp_scl1,
                dsp_scl2,
                FLASH_add,
                user_led,
                dsp_extint4,     // DM642ÍⲿÖжÏÐźÅ4
                dsp_extint5,     // DM642ÍⲿÖжÏÐźÅ5

                );


// input signal                
input system_reset;
wire system_reset;

input awe;        // write enable
input are;        // read
input aoe;        // OUTPUT enable
input tea22;    // address 22

input tea8;
input tea7;
input tea6;
input tea5;
input tea4;
input tea3;
input [7:0] ted;
input tce1;
input uart_inta;
input uart_intb;
input iic_sel;
input dsp_scl0;


// OUTPUT signal
OUTPUT dsp_scl1;
OUTPUT dsp_scl2;
OUTPUT dsp_extint4;
OUTPUT dsp_extint5;

OUTPUT emifa_oe;    // EMIFA bus OUTPUT enable
OUTPUT emifa_dir;    // EMIFA bus direction
OUTPUT FLASH_ce;    // FLASH.html">FLASH chip SELECT
OUTPUT eprom_ce;    // EPROM chip SELECT
OUTPUT uart_csa;    // COM0 chip SELECT
OUTPUT uart_csb;    // COM1 chip SELECT

OUTPUT [5:0] FLASH_add;    // extend address
OUTPUT [7:0] user_led;    // user defined led
reg [5:0] FLASH_add;
reg [7:0] user_led;

//reg emifa_oe;
//reg emifa_dir;

wire write_FLASH_addr;
wire OUTPUT_user_led;
wire write_cs_CONTROL;


reg cs_sel;    // cs_sel = 0 SELECT EPROM
            // cs_sel = 1 SELECT FLASH


// emifa_dir = 0 : write
// emifa_dir = 1 : read
// aoe = 0 when DM642 read.
assign emifa_oe = tce1;
assign emifa_dir = ~(tce1 | aoe);

assign dsp_scl1 =  (iic_sel==1'b1) ? dsp_scl0 : 1'bz;
assign dsp_scl2 =  (iic_sel==1'b1) ? dsp_scl0 : 1'bz;

assign dsp_extint4 = uart_inta;
assign dsp_extint5 = uart_intb;


//00000-7ffff
assign eprom_ce =  (cs_sel==1'b0) ? (tce1 | tea22) : 1'b1;

//00000-7ffff
assign FLASH_ce =  (cs_sel==1'b1) ? (tce1 | tea22) : 1'bz;

//80000-80007
assign uart_csa =   tce1 | ~tea22 | tea7 | tea6 | tea8;
//80008-8000f
assign uart_csb =   tce1 | ~tea22 | tea7 | ~tea6 | tea8;


//80010 Ext address
assign write_FLASH_addr = tce1 | ~tea22 | tea6 | ~tea7 | tea8 | tea5 | tea4 | tea3;

//80011 user led
assign OUTPUT_user_led =  tce1 | ~tea22 | tea6 | ~tea7 | tea8 | tea5 | tea4 | ~tea3;

//80012 EPROM or FLASH.html">FLASH cs CONTROL reg
assign write_cs_CONTROL =  tce1 | ~tea22 | tea6 | ~tea7 | tea8 | tea5 | ~tea4 | tea3;


//OUTPUT FLASH address
always @ (negedge awe or negedge system_reset)

begin  
    if(~system_reset)
        begin
             FLASH_add <= 6'b000000; // set A24-A19 to 0
            cs_sel <= 1'b1;            // SELECT FLASH
            user_led <= 8'hff;        // turn off led at reset
            //emifa_oe <= 1'b0;
            //emifa_dir <= 1'b0;
        end
    else if (~write_FLASH_addr)
        begin
            FLASH_add <= ted[5:0];  // latch the address
        end
    else if (~OUTPUT_user_led)
        begin
   &n
7樓: >>參與討論
lxg133
抱歉,寫錯了,我的是在CE1空間擴展的
抱歉,寫錯了,我的是在CE1空間擴展的

8樓: >>參與討論
boy364
試了LVC573,好像也不成功
咋回事呢,難道一定要用CPLD?

參與討論
昵稱:
討論內容:
 
 
相關帖子
如何選擇合適的DSP芯片
32bitSDRAM如何進行16bit的操作?
高手都困惑的問題!
關于tms320lf2407a的時鐘問題
2407焊接注意什么問題?
免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號