楼主: magang2011

[求助] 有关flexbus的问题

[复制链接]

该用户从未签到

8

主题

19

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2020-9-6
发表于 2011-12-5 14:32:58 | 显示全部楼层 |阅读模式
我在用flexbus,设置为32位复用。但是只有cs0能用,cs2,cs3都没有信号,不知谁有好的建议?谢谢!
void K60_flexbus_init(void){
/* Enable the FlexBus                                               */
/* Configure the FlexBus Registers for 32-bit port size              */
/*  with multiplex address and data using chip select 3              */
/*  comes out on AD[31:0]                                          */
 
  //Set Base address
  FB_CSAR2 = (uint32)&EX_START_ADDRESS;
  FB_CSCR2  =   FB_CSCR_PS(0)      // 32-bit port
              | FB_CSCR_AA_MASK    // auto-acknowledge
              | FB_CSCR_ASET(0x0)  // assert chip select on first clock edge after address is asserted
              | FB_CSCR_WS(0x1)    // 1 wait state - may need a wait state depending on the bus speed
              ;
  FB_CSMR2  =   FB_CSMR_BAM(0x7)  //Set base address mask for 512K address space
              | FB_CSMR_V_MASK    //Enable cs signal
              ;
             
   //enable BE signals - note, not used in this example
  FB_CSPMCR = 0x00011000;
  //fb clock divider 3
  SIM_CLKDIV1 |= SIM_CLKDIV1_OUTDIV3(0x3);
  
  
  /* Configure the pins needed to FlexBus Function (Alt 5) */
  /* this example uses low drive strength settings         */
  //address
  PORTB_PCR20 = PORT_PCR_MUX(5);           //  fb_ad[31]
  PORTB_PCR21 = PORT_PCR_MUX(5);           //  fb_ad[30]
  PORTB_PCR22 = PORT_PCR_MUX(5);           //  fb_ad[29]
  PORTB_PCR23 = PORT_PCR_MUX(5);           //  fb_ad[28]
  PORTC_PCR12 = PORT_PCR_MUX(5);           //  fb_ad[27]
  PORTC_PCR13 = PORT_PCR_MUX(5);           //  fb_ad[26]
  PORTC_PCR14 = PORT_PCR_MUX(5);           //  fb_ad[25]
  PORTC_PCR15 = PORT_PCR_MUX(5);           //  fb_ad[24] 
  PORTB_PCR6  = PORT_PCR_MUX(5);           //  fb_ad[23]
  PORTB_PCR7  = PORT_PCR_MUX(5);           //  fb_ad[22]
  PORTB_PCR8  = PORT_PCR_MUX(5);           //  fb_ad[21]
  PORTB_PCR9  = PORT_PCR_MUX(5);           //  fb_ad[20]
  PORTB_PCR10 = PORT_PCR_MUX(5);           //  fb_ad[19] 
  PORTB_PCR11 = PORT_PCR_MUX(5);           //  fb_ad[18]
  PORTB_PCR16 = PORT_PCR_MUX(5);           //  fb_ad[17]
  PORTB_PCR17 = PORT_PCR_MUX(5);           //  fb_ad[16]
  PORTB_PCR18 = PORT_PCR_MUX(5);           //  fb_ad[15]
  PORTC_PCR0  = PORT_PCR_MUX(5);           //  fb_ad[14]
  PORTC_PCR1  = PORT_PCR_MUX(5);           //  fb_ad[13]
  PORTC_PCR2  = PORT_PCR_MUX(5);           //  fb_ad[12]
  PORTC_PCR4  = PORT_PCR_MUX(5);           //  fb_ad[11]
  PORTC_PCR5  = PORT_PCR_MUX(5);           //  fb_ad[10]
  PORTC_PCR6  = PORT_PCR_MUX(5);           //  fb_ad[9]
  PORTC_PCR7  = PORT_PCR_MUX(5);           //  fb_ad[8]
  PORTC_PCR8  = PORT_PCR_MUX(5);           //  fb_ad[7]
  PORTC_PCR9  = PORT_PCR_MUX(5);           //  fb_ad[6]
  PORTC_PCR10 = PORT_PCR_MUX(5);           //  fb_ad[5]
  PORTD_PCR2  = PORT_PCR_MUX(5);           //  fb_ad[4]
  PORTD_PCR3  = PORT_PCR_MUX(5);           //  fb_ad[3]
  PORTD_PCR4  = PORT_PCR_MUX(5);           //  fb_ad[2]
  PORTD_PCR5  = PORT_PCR_MUX(5);           //  fb_ad[1]
  PORTD_PCR6  = PORT_PCR_MUX(5);           //  fb_ad[0]
  //control signals
  PORTB_PCR19 = PORT_PCR_MUX(5);          // fb_oe_b
  PORTC_PCR11 = PORT_PCR_MUX(5);          // fb_rw_b
  PORTC_PCR18 = PORT_PCR_MUX(5);          // fb_cs2_b,P125
  PORTC_PCR19 = PORT_PCR_MUX(5);          // fb_cs3_b,P126
  PORTD_PCR0  = PORT_PCR_MUX(5);          // fb_ale
  PORTC_PCR3  = PORT_PCR_MUX(5);          // fb_clk
  PORTD_PCR1  = PORT_PCR_MUX(5);          // fb_cs0_b,P128
 
我知道答案 目前已有9人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-12-5 14:48:48 | 显示全部楼层

    RE:有关flexbus的问题

    很抱歉,这个问题我也不能解决,知道的同学帮忙解决一下。谢谢了。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    19

    帖子

    0

    注册会员

    Rank: 2

    积分
    96
    最后登录
    2020-9-6
     楼主| 发表于 2011-12-6 16:23:24 | 显示全部楼层

    RE:有关flexbus的问题

    问题解决,参照NOTE: At reset, no chip-select other than FB_CS0 can be used until the CSMR0[V] is set. Afterward,
    FB_CS[5:0] functions as programmed.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    136

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    256
    最后登录
    2021-1-15
    发表于 2012-2-28 21:04:36 | 显示全部楼层

    回复:有关flexbus的问题

    问题解决,参照NOTE: At reset, no chip-select other than FB_CS0 can be used until the CSMR0[V] is set. Afterward,
    FB_CS[5:0] functions as programmed.
     
    你是怎么添加的程序;这句没有看太懂啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    8
    最后登录
    1970-1-1
    发表于 2012-8-9 10:51:35 | 显示全部楼层

    回复:有关flexbus的问题

    这是我的初始化函数,16根总线复用 为什么总是没法写和读呢 
    void TWRK60_flexbus_init(void)
    {
    /* Enable the FlexBus                                               */
    /* Configure the FlexBus Registers for 8-bit port size              */
    /*  with separate address and data using chip select 0              */
    /* These configurations are specific to communicating with          */
    /*  the MRAM used in this example                                   */
    /* For K60 tower module - do not set byte lane shift so that data   */
    /*  comes out on AD[31:24]                                          */
     
     //Set Base address
    //FB_CSAR0 = (uint32)&MRAM_START_ADDRESS;
     FB_CSAR0 =MRAM_START_ADDRESS;
    FB_CSCR0 = FB_CSCR_PS(2) // 16-bit port
    | FB_CSCR_AA_MASK // auto-acknowledge
    | FB_CSCR_ASET(0x1) // assert chip select on 2 clock edge after address is
    | FB_CSCR_WS(0x1) // no wait state - may need a wait state depending on the bus speed
    | FB_CSCR_BEM_MASK
    | FB_CSCR_RDAH(0);
     
      FB_CSMR0  =   FB_CSMR_BAM(0x7)  //Set base address mask for 512K address space
                  | FB_CSMR_V_MASK ;   //Enable cs signal             
      //enable BE signals - note, not used in this example
      FB_CSPMCR = FB_CSPMCR_GROUP2(2) | FB_CSPMCR_GROUP3(2);//该寄存器控制信号线的多路复用
     //fb clock divider 3
      SIM_CLKDIV1 |= SIM_CLKDIV1_OUTDIV3(0x3);
      
      
      /* Configure the pins needed to FlexBus Function (Alt 5) */
      /* this example uses low drive strength settings         */
      //data/address
      PORTB_PCR20 = PORT_PCR_MUX(5);           //  fb_ad[31]
      PORTB_PCR21 = PORT_PCR_MUX(5);           //  fb_ad[30
      PORTB_PCR22 = PORT_PCR_MUX(5);           //  fb_ad[29
      PORTB_PCR23 = PORT_PCR_MUX(5);           //  fb_ad[28]
      PORTC_PCR12 = PORT_PCR_MUX(5);           //  fb_ad[27
      PORTC_PCR13 = PORT_PCR_MUX(5);           //  fb_ad[26]
      PORTC_PCR14 = PORT_PCR_MUX(5);           //  fb_ad[25]
      PORTC_PCR15 = PORT_PCR_MUX(5);           //  fb_ad[24]
      PORTB_PCR6 = PORT_PCR_MUX(5);           //  fb_ad[23]
      PORTB_PCR7 = PORT_PCR_MUX(5);           //  fb_ad[22]
      PORTB_PCR8 = PORT_PCR_MUX(5);           //  fb_ad[21]
      PORTB_PCR9 = PORT_PCR_MUX(5);           //  fb_ad[20]
      PORTB_PCR10  = PORT_PCR_MUX(5);           //  fb_ad[19]
      PORTB_PCR11 = PORT_PCR_MUX(5);           //  fb_ad[18]
      PORTB_PCR16 = PORT_PCR_MUX(5);           //  fb_ad[17]
      PORTB_PCR17 = PORT_PCR_MUX(5);           //  fb_ad[16]
      //control signals
      PORTB_PCR19 = PORT_PCR_MUX(5);           // fb_oe_b读
      PORTC_PCR11 = PORT_PCR_MUX(5);           // fb_rw_b 写
      PORTD_PCR1  = PORT_PCR_MUX(5);           // fb_cs0_b
     // PORTD_PCR0  = PORT_PCR_MUX(5);         // fb_ale
      PORTE_PCR25  = PORT_PCR_MUX(5);          // 中断控制引脚INT
      PORTD_PCR4 = PORT_PCR_MUX(5);            //FB_AD[2]控制CMD
     
      PORTA_PCR14 = PORT_PCR_MUX(1);            //DM9000复位引脚,用普通io控制
      GPIOA_PDDR=GPIO_PDDR_PDD(GPIO_PIN(14));    //定义PORTA的pin14输出
     
    }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    8
    最后登录
    1970-1-1
    发表于 2012-8-9 10:52:58 | 显示全部楼层

    回复:有关flexbus的问题

    回复第 4 楼 于2012-02-28 21:04:36发表:
    问题解决,参照NOTE: At reset, no chip-select other than FB_CS0 can be used until the CSMR0[V] is set. Afterward,
    FB_CS[5:0] functions as programmed.
     
    你是怎么添加的程序;这句没有看太懂啊
     
    您的复用问题解决了吗  帮忙看看我的初始化函数吧  总是读写不成功呢  谢谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33

    主题

    441

    帖子

    0

    新手上路

    Rank: 1

    积分
    7703
    最后登录
    1970-1-1
    发表于 2012-8-9 21:09:47 | 显示全部楼层

    RE:有关flexbus的问题

    Flexbus时序很古怪,不是普通8086时序。dm9000连接比较麻烦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    24
    最后登录
    1970-1-1
    发表于 2013-10-10 19:05:31 | 显示全部楼层

    回复:有关flexbus的问题

      地址线要与数据线分开,数据线有16根,地址线看板子
      //address 
    PORTB_PCR18 = PORT_PCR_MUX(5);           //  fb_ad[15]
      PORTC_PCR0  = PORT_PCR_MUX(5);           //  fb_ad[14]
      PORTC_PCR1  = PORT_PCR_MUX(5);           //  fb_ad[13]
      PORTC_PCR2  = PORT_PCR_MUX(5);           //  fb_ad[12]
      PORTC_PCR4  = PORT_PCR_MUX(5);           //  fb_ad[11]
      PORTC_PCR5  = PORT_PCR_MUX(5);           //  fb_ad[10]
      PORTC_PCR6  = PORT_PCR_MUX(5);           //  fb_ad[9]
      PORTC_PCR7  = PORT_PCR_MUX(5);           //  fb_ad[8]
      PORTC_PCR8  = PORT_PCR_MUX(5);           //  fb_ad[7]
      PORTC_PCR9  = PORT_PCR_MUX(5);           //  fb_ad[6]
      PORTC_PCR10 = PORT_PCR_MUX(5);           //  fb_ad[5]
      PORTD_PCR2  = PORT_PCR_MUX(5);           //  fb_ad[4]
      PORTD_PCR3  = PORT_PCR_MUX(5);           //  fb_ad[3]
      PORTD_PCR4  = PORT_PCR_MUX(5);           //  fb_ad[2]
      PORTD_PCR5  = PORT_PCR_MUX(5);           //  fb_ad[1]
      PORTD_PCR6  = PORT_PCR_MUX(5);           //  fb_ad[0]
     
      //data                                                         8bit|16bit
      PORTB_PCR20 = PORT_PCR_MUX(5);           //  fb_ad[31] used as d[7]|d[15]
      PORTB_PCR21 = PORT_PCR_MUX(5);           //  fb_ad[30] used as d[6]|d[14]
      PORTB_PCR22 = PORT_PCR_MUX(5);           //  fb_ad[29] used as d[5]|d[13]
      PORTB_PCR23 = PORT_PCR_MUX(5);           //  fb_ad[28] used as d[4]|d[12]
      PORTC_PCR12 = PORT_PCR_MUX(5);           //  fb_ad[27] used as d[3]|d[11]
      PORTC_PCR13 = PORT_PCR_MUX(5);           //  fb_ad[26] used as d[2]|d[10]
      PORTC_PCR14 = PORT_PCR_MUX(5);           //  fb_ad[25] used as d[1]|d[9]
      PORTC_PCR15 = PORT_PCR_MUX(5);           //  fb_ad[24] used as d[0]|d[8]
     
      PORTB_PCR6  = PORT_PCR_MUX(5);           //  fb_ad[23] used as     |d[7]
      PORTB_PCR7  = PORT_PCR_MUX(5);           //  fb_ad[22] used as     |d[6]
      PORTB_PCR8  = PORT_PCR_MUX(5);           //  fb_ad[21] used as     |d[5]
      PORTB_PCR9  = PORT_PCR_MUX(5);           //  fb_ad[20] used as     |d[4]
      PORTB_PCR10 = PORT_PCR_MUX(5);           //  fb_ad[19] used as     |d[3]
      PORTB_PCR11 = PORT_PCR_MUX(5);           //  fb_ad[18] used as     |d[2]
      PORTB_PCR16 = PORT_PCR_MUX(5);           //  fb_ad[17] used as     |d[1]
      PORTB_PCR17 = PORT_PCR_MUX(5);           //  fb_ad[23] used as     |d[0]
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    24
    最后登录
    1970-1-1
    发表于 2013-10-10 19:07:53 | 显示全部楼层

    回复:有关flexbus的问题

    //control signals
      PORTB_PCR19 = PORT_PCR_MUX(5);          // fb_oe_b
      PORTC_PCR11 = PORT_PCR_MUX(5);          // fb_rw_b  
      PORTD_PCR1  = PORT_PCR_MUX(5);          // fb_cs0_b
      PORTC_PCR18 = PORT_PCR_MUX(5);          //fb_cs2_b
      PORTC_PCR19 = PORT_PCR_MUX(5);          // fb_cs3_b
      PORTD_PCR0  = PORT_PCR_MUX(5);          // fb_ale
      PORTC_PCR17 = PORT_PCR_MUX(5);          //fb_be31_24
      PORTC_PCR16 = PORT_PCR_MUX(5);          //fb_be23_16
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    24
    最后登录
    1970-1-1
    发表于 2013-10-10 19:09:51 | 显示全部楼层

    回复:有关flexbus的问题

    FB_CSPMCR 没有复用,FB_CSPMCR = 0x02211000;cs2,cs3均有效
    再不明白就看datasheet K60X256VLL10英文原版手册.pdf
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 05:08 , Processed in 0.106865 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表