Ignore:
Timestamp:
Nov 10, 2010, 3:08:54 PM (10 years ago)
Author:
weitzel
Message:
CRC added for FTU RS485 communication
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/FTU/FTU_top_tb.vhd

    r10037 r10050  
    244244    wait for 5ns;
    245245    trigger_sig <= '0';
    246     wait;   
     246    wait for 1800us;
     247    trigger_sig <= '1';
     248    wait for 5ns;
     249    trigger_sig <= '0';
     250    wait for 50us;
     251    trigger_sig <= '1';
     252    wait for 5ns;
     253    trigger_sig <= '0';
     254    wait;
    247255  end process trigger_proc;
    248256
     
    292300    assign_rs485("00000001"); --FTM firmware ID
    293301    wait for 0ns;
    294     assign_rs485("00000010"); --instruction
     302    assign_rs485("00000110"); --instruction
    295303    wait for 0us;
    296     assign_rs485("00000001"); --data byte 01
     304    assign_rs485("00010100"); --data byte 01
    297305    wait for 0ns;
    298306    assign_rs485("00000000"); --data byte 02
    299307    wait for 0ns;
    300     assign_rs485("00000010"); --data byte 03
     308    assign_rs485("00000000"); --data byte 03
    301309    wait for 0ns;
    302310    assign_rs485("00000000"); --data byte 04
    303311    wait for 0ns;
    304     assign_rs485("00000100"); --data byte 05
     312    assign_rs485("00000000"); --data byte 05
    305313    wait for 0ns;
    306314    assign_rs485("00000000"); --data byte 06
    307315    wait for 0ns;
    308     assign_rs485("00001000"); --data byte 07
     316    assign_rs485("00000000"); --data byte 07
    309317    wait for 0ns;
    310318    assign_rs485("00000000"); --data byte 08
    311319    wait for 0ns;
    312     assign_rs485("00010000"); --data byte 09
     320    assign_rs485("00000000"); --data byte 09
    313321    wait for 0ns;
    314322    assign_rs485("00000000"); --data byte 10
     
    318326    assign_rs485("00000000"); --data byte 12
    319327    wait for 0ns;
    320     assign_rs485("00000001"); --data byte 13
     328    assign_rs485("00000000"); --data byte 13
    321329    wait for 0ns;
    322330    assign_rs485("00000000"); --data byte 14
    323331    wait for 0ns;
    324     assign_rs485("00000010"); --data byte 15
     332    assign_rs485("00000000"); --data byte 15
    325333    wait for 0ns;
    326334    assign_rs485("00000000"); --data byte 16
    327335    wait for 0ns;
    328     assign_rs485("00000100"); --data byte 17
     336    assign_rs485("00000000"); --data byte 17
    329337    wait for 0ns;
    330338    assign_rs485("00000000"); --data byte 18
    331339    wait for 0ns;
    332     assign_rs485("00001000"); --data byte 19
     340    assign_rs485("00000000"); --data byte 19
    333341    wait for 0ns;
    334342    assign_rs485("00000000"); --data byte 20
    335343    wait for 0ns;
    336     assign_rs485("00010000"); --data byte 21
     344    assign_rs485("00000000"); --data byte 21
    337345    wait for 0ns;
    338346    assign_rs485("00000000"); --CRC error counter (not used)
    339347    wait for 0ns;
    340     assign_rs485("00000000"); --check sum
     348    assign_rs485("01001101"); --check sum
    341349    ---------------------------------------------------------------------------
    342350    -- wait enough time and send another command
     
    351359    assign_rs485("00000001"); --FTM firmware ID
    352360    wait for 0ns;
    353     assign_rs485("00000101"); --instruction
     361    assign_rs485("00000000"); --instruction
    354362    wait for 0us;
    355363    assign_rs485("00000001"); --data byte 01
     
    357365    assign_rs485("00000000"); --data byte 02
    358366    wait for 0ns;
    359     assign_rs485("00000010"); --data byte 03
     367    assign_rs485("00000000"); --data byte 03
    360368    wait for 0ns;
    361369    assign_rs485("00000000"); --data byte 04
    362370    wait for 0ns;
    363     assign_rs485("00000100"); --data byte 05
     371    assign_rs485("00000000"); --data byte 05
    364372    wait for 0ns;
    365373    assign_rs485("00000000"); --data byte 06
    366374    wait for 0ns;
    367     assign_rs485("00001000"); --data byte 07
     375    assign_rs485("00000000"); --data byte 07
    368376    wait for 0ns;
    369377    assign_rs485("00000000"); --data byte 08
    370378    wait for 0ns;
    371     assign_rs485("00010000"); --data byte 09
     379    assign_rs485("00000000"); --data byte 09
    372380    wait for 0ns;
    373381    assign_rs485("00000000"); --data byte 10
     
    377385    assign_rs485("00000000"); --data byte 12
    378386    wait for 0ns;
    379     assign_rs485("00000001"); --data byte 13
     387    assign_rs485("00000000"); --data byte 13
    380388    wait for 0ns;
    381389    assign_rs485("00000000"); --data byte 14
    382390    wait for 0ns;
    383     assign_rs485("00000010"); --data byte 15
     391    assign_rs485("00000000"); --data byte 15
    384392    wait for 0ns;
    385393    assign_rs485("00000000"); --data byte 16
    386394    wait for 0ns;
    387     assign_rs485("00000100"); --data byte 17
     395    assign_rs485("00000000"); --data byte 17
    388396    wait for 0ns;
    389397    assign_rs485("00000000"); --data byte 18
    390398    wait for 0ns;
    391     assign_rs485("00001000"); --data byte 19
     399    assign_rs485("00000000"); --data byte 19
    392400    wait for 0ns;
    393401    assign_rs485("00000000"); --data byte 20
    394402    wait for 0ns;
    395     assign_rs485("00010000"); --data byte 21
     403    assign_rs485("00000000"); --data byte 21
    396404    wait for 0ns;
    397405    assign_rs485("00000000"); --CRC error counter (not used)
    398406    wait for 0ns;
    399     assign_rs485("00000000"); --check sum
     407    assign_rs485("01010010"); --check sum
    400408    ---------------------------------------------------------------------------
    401409    -- don't forget final wait!
Note: See TracChangeset for help on using the changeset viewer.