各位DX:
我在用3234A(80PIN)的时候发现一个问题:外面接的是晶振12M,把PA的几个口作为外围IC的片选信号。MAIN 为PROG,SEC为DATA空间。配置如下:
U1 PIN 21; pa6 PIN 22; "GP I/O U2 PIN 24; U3 PIN 26; U4 PIN 32; U5 PIN 34; XT_1 PIN 35; U6 PIN 66; "GP I/O pb1 PIN 78; pb0 PIN 80; Vstdby PIN 15; "SRAM standby voltage input ale PIN 4; "ALE output jtagsel = !_reset;
rs0 = ((address >= ^h0000) & (address <= ^h1FFF)); csiop = ((address >= ^h7F00) & (address <= ^h7FFF)); fs0 = ((address >= ^h0000) & (address <= ^h7FFF)); fs1 = ((page == 0) & (address >= ^h8000) & (address <= ^hFFFF)); fs2 = ((page == 1) & (address >= ^h8000) & (address <= ^hFFFF)); fs3 = ((page == 2) & (address >= ^h8000) & (address <= ^hFFFF)); fs4 = ((page == 3) & (address >= ^h8000) & (address <= ^hFFFF)); fs5 = ((page == 4) & (address >= ^h8000) & (address <= ^hFFFF)); fs6 = ((page == 5) & (address >= ^h8000) & (address <= ^hFFFF)); fs7 = ((page == 6) & (address >= ^h8000) & (address <= ^hFFFF)); csboot0 = ((address >= ^h8000) & (address <= ^h9FFF)); csboot1 = ((address >= ^hA000) & (address <= ^hBFFF)); csboot2 = ((address >= ^hC000) & (address <= ^hDFFF)); csboot3 = ((address >= ^hE000) & (address <= ^hFFFF)); U1 = ((address >= ^h7A00) & (address <= ^h7AFF) & (!_rd)) # ((address >= ^h7A00) & (address <= ^h7AFF) & (!_wr)); ! U2 = ((address >= ^h7D00) & (address <= ^h7DFF) & (_rd)) # ((address >= ^h7D00) & (address <= ^h7DFF) & (_wr)); ! U3 = ((address >= ^h7E00) & (address <= ^h7EFF) & (_rd)) # ((address >= ^h7E00) & (address <= ^h7EFF) & (_wr)); ! U4 = ((address >= ^h7B00) & (address <= ^h7BFF) & (_rd)) # ((address >= ^h7B00) & (address <= ^h7BFF) & (_wr)); ! U5 = ((address >= ^h7C00) & (address <= ^h7CFF) & (_rd)) # ((address >= ^h7C00) & (address <= ^h7CFF) & (_wr)); XT_1 = a0; XT_1.oe = Vcc; pb1 = a0; pb1.oe = Vcc; pb0 = a1; pb0.oe = Vcc;
可当烧录下去后,外面的设备工作正常,但ALE输出的却是不规则的信号。还望大家给予建议,解决问题。在此表示感谢。
|