请问吴礼雄或衣卓版主:neuron芯片与51芯片工作在主从A方式下的一个问题 点击:1269 | 回复:3



铃兰

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 6回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2006年4月26日
发表于:2006-05-18 17:12:00
楼主
neuron芯片与51芯片工作在主从A方式下,neuron芯片的IO口设置为并行双向IO方式,我现在要实现neuron芯片与51芯片的数据传输,请问:
当neuron芯片有数据要向51芯片发送时,因为P89C51单片机和TMPN3150之间需要先建立握手信号,是否是当neuron芯片数据准备好后HS信号就自动有效了,而我只需要在51芯片这边查询HS就行了呢?还是我需要在neuron芯片的编程中设置HS信号呢?



you_you

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年9月04日
发表于:2006-09-09 12:31:00
1楼
不需要设置HS信号

wx_triumph

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 5回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2006年6月16日
发表于:2006-09-09 17:34:00
2楼
     单片机同步
     SYNC3150:
   CLR RW ;定义89c52拥有令牌
   JB HS, $ ;检测3150状态,1为忙,0为闲
   MOV P0, #5AH ;89c52写操作,5A为CMD-RESYNC
   CLR CS
   SETB CS ; 3150读操作
   JB HS, $ ;检测3150状态
   MOV P0, #00H ;89c52写操作,00为EOM
  
   SETB RW ;传递令牌给3150
  
   JB HS, $ ;检测3150状态
   CLR CS
   SETB CS ;89c52读操作
   MOV A, P0 ;把读到的数据给A
   JB HS, $ ;检测3150状态
   CJNE A, #07H, SYNC3150 
   ;判断是否为07 CMD-ACKSYNC ,不是则重新同步
   CLR RW ;传递令牌给89C52
   RET
  -------------------------------------------------------
  
  network input char nvin=0;
  IO_0 parallel slave s_bus;
  #define data_size 10
  char i=0;
  typedef struct parallel_io_interface
  {
   unsigned int length;
   unsigned int data[data_size];
  }piofc;
  far piofc p_in,p_out;
  when(nv_update_occurs(nvin))
  {
   p_out.length=10;
   for(i=0;i<10;i++)
   {
   p_out.data[i]=3;
   }
   io_out_request(s_bus);
  }
  
  when(io_out_ready(s_bus))
  {
   io_out(s_bus,&p_out);
  }
  
  when(io_in_ready(s_bus))
  {
   p_in.length=data_size;
   io_in(s_bus,&p_in);
  }

韩京数

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2006年7月28日
发表于:2006-09-18 16:58:00
3楼
收到!

热门招聘
相关主题

官方公众号

智造工程师