Jump to content

SEQ 4LMKii front panel compleatly dead any ideas? (Solved)


gerald.wert
 Share

Recommended Posts

I recently completed a SEQ 4LMKii. I am getting power to the cs and I have tested for bridged joints and can not find any shorts with the meter. It is dead on my stm32f4 core and my LPC core. I have the SRIO v4l hardware file in the root folder the SD card and it is showing as valid. Sequencer seems to run properly from the console on either core. It says MBSEQ_C.v4 and MBSEQ_BM.V4 are missing but they are in the sessions folder for both STM and lpc. .J15 is set to 5v.  


[39012.596] sdcard
[39012.568] SD Card Informations
[39012.568] ====================
[39012.568] --------------------
[39012.568] CID:
[39012.568] - ManufacturerID:
[39012.568] - OEM AppliID:
[39012.568] - ProdName: SL08G
[39012.568] - ProdRev: 128
[39012.568] - ProdSN: 0xe8631ddd
[39012.568] - Reserved1: 241
[39012.568] - ManufactDate: 266
[39012.568] - msd_CRC: 0x19
[39012.568] - Reserved2: 1
[39012.569] --------------------
[39012.569] --------------------
[39012.569] - CSDStruct: 1
[39012.569] - SysSpecVersion: 0
[39012.569] - Reserved1: 0
[39012.569] - TAAC: 14
[39012.569] - NSAC: 0
[39012.569] - MaxBusClkFrec: 50
[39012.569] - CardComdClasses: 1461
[39012.570] - RdBlockLen: 9
[39012.570] - PartBlockRead: 0
[39012.570] - WrBlockMisalign: 0
[39012.570] - RdBlockMisalign: 0
[39012.570] - DSRImpl: 0
[39012.570] - Reserved2: 0
[39012.570] - DeviceSize: 15159
[39012.570] - MaxRdCurrentVDDMin: 0
[39012.570] - MaxRdCurrentVDDMax: 0
[39012.570] - MaxWrCurrentVDDMin: 0
[39012.571] - MaxWrCurrentVDDMax: 0
[39012.571] - DeviceSizeMul: 240
[39012.571] - EraseGrSize: 31
[39012.571] - EraseGrMul: 28
[39012.571] - WrProtectGrSize: 0
[39012.571] - WrProtectGrEnable: 0
[39012.571] - ManDeflECC: 0
[39012.571] - WrSpeedFact: 2
[39012.571] - MaxWrBlockLen: 9
[39012.571] - WriteBlockPaPartial: 0
[39012.571] - Reserved3: 0
[39012.571] - ContentProtectAppli: 0
[39012.572] - FileFormatGrouop: 0
[39012.572] - CopyFlag: 1
[39012.572] - PermWrProtect: 0
[39012.572] - TempWrProtect: 0
[39012.572] - FileFormat: 0
[39012.572] - ECC: 0
[39012.572] - msd_CRC: 0x57
[39012.572] - Reserved4: 1
[39012.572] --------------------
[39012.572]
[39012.573] Reading Root Directory
[39012.573] ======================
[39012.573] Retrieving SD Card informations - please wait!
[39012.573] SD Card: '': 3382 of 3384 MB free
[39012.574] [......a] 00/00/-20  00:00:00 AM     22702 MBSEQ_HW.V4
[39012.574] [.....d.] 00/00/-20  00:00:00 AM   <DIR> 0 SESSIONS
[39012.574] [......a] 00/00/-20  00:00:00 AM     10293 MBSEQ_HW.V4L
[39012.574]
[39012.574] Checking SD Card at application layer
[39012.574] =====================================
[39012.574] Current session: /SESSIONS/DEF_V4L
[39012.575] File /SESSIONS/DEF_V4L/MBSEQ_B1.V4: valid (64 patterns)
[39012.575] File /SESSIONS/DEF_V4L/MBSEQ_B2.V4: valid (64 patterns)
[39012.575] File /SESSIONS/DEF_V4L/MBSEQ_B3.V4: valid (64 patterns)
[39012.575] File /SESSIONS/DEF_V4L/MBSEQ_B4.V4: valid (64 patterns)
[39012.575] File /SESSIONS/DEF_V4L/MBSEQ_M.V4: valid (128 mixer maps)
[39012.575] File /SESSIONS/DEF_V4L/MBSEQ_S.V4: valid (64 songs)
[39012.576] File /SESSIONS/DEF_V4L/MBSEQ_G.V4: valid
[39012.576] File /SESSIONS/DEF_V4L/MBSEQ_BM.V4: valid
[39012.576] File /SESSIONS/DEF_V4L/MBSEQ_C.V4: valid
[39012.576] File /MBSEQ_C.V4: doesn't exist
[39012.576] File /MBSEQ_BM.V4: doesn't exist
[39012.576] File /MBSEQ_HW.V4L: valid
[39012.576] done.

 

I get some additional errors on a reset from terminal on the LPC board:


[38687.653] reset
[38689.799] Init DHCP
[38689.899] [network_device_init] PHY initialized
[38692.821] Loading session DEF_V4L
[38692.846] [SEQ_FILE_HW] ERROR: unknown STEP_TPM_* name 'COLUMNS_SR_L'!
[38692.847] [SEQ_FILE_HW] ERROR: unknown STEP_TPM_* name 'COLUMNS_SR_R'!
[38692.847] [SEQ_FILE_HW] ERROR: unknown STEP_TPM_* name 'ROWS_SR_GREEN_L'!
[38692.849] [SEQ_FILE_HW] ERROR: unknown STEP_TPM_* name 'ROWS_SR_GREEN_R'!
[38692.849] [SEQ_FILE_HW] ERROR: unknown STEP_TPM_* name 'ROWS_SR_RED_L'!
[38692.850] [SEQ_FILE_HW] ERROR: unknown STEP_TPM_* name 'ROWS_SR_RED_R'!

This is with the version 086 firmware for the LPC board.

 

I am running version 088 on the stm32F4 board and it does not reset without hanging so I loose what ever the boot messages would be. This seems to be a stm thing as it behaves the same with the regular seq firmware or the NG firmware. Might be windows related. restarting MIOS brings tings back up but you miss any boot messages.

 

20170228_123519.thumb.jpg.87fdf3f46fb1a320170228_123555.thumb.jpg.1071b4b492ddbf20170228_123519.thumb.jpg.87fdf3f46fb1a3

20170228_123533.jpg

Edited by gerald.wert
Solved
Link to comment
Share on other sites

The build looks pretty clean, so I don't think it's a problem with the CS (unless you managed to zap/cook the CMOS), or the connecting cable is faulty or connected to a port other than J8/9. Was the Core ever verified to work with anything else? It's true that MB_NG fails to upload? We need to check the Core side in that case. You might consider reflashing the whole chip from the ST LINK side.

Note, on Windows it's normal behaviour to have to (annoyingly) restart MIOS Studio each time the Core reboots. 

Link to comment
Share on other sites

I have been doing more testing and I am not sure the CS board is the issue. I did find a missed solder joint on the board on one of the diodes but that should only affect one switch and had no affect fixing it. I did a quick bread board with a 74HC165 and it looks like there is a possible mapping issue though.

When pressing  button on pin 7

[74634.514] [SEQ_UI_Button_Handler] Button SR:25, Pin:7 not mapped, it has been pressed.
[74634.619] [SEQ_UI_Button_Handler] Button SR:29, Pin:7 not mapped, it has been pressed.
[74634.698] [SEQ_UI_Button_Handler] Button SR:25, Pin:7 not mapped, it has been depressed.
[74634.742] [SEQ_UI_Button_Handler] Button SR:29, Pin:7 not mapped, it has been depressed.

when pressing button on pin 6

[74730.176] [SEQ_UI_Button_Handler] Button SR:25, Pin:6 not mapped, it has been pressed.
[74730.319] [SEQ_UI_Button_Handler] Button SR:29, Pin:6 not mapped, it has been pressed.
[74730.360] [SEQ_UI_Button_Handler] Button SR:25, Pin:6 not mapped, it has been depressed.
[74730.404] [SEQ_UI_Button_Handler] Button SR:29, Pin:6 not mapped, it has been depressed.

When pressing button on pin 2

[76086.564] [SEQ_UI_Button_Handler] Button SR:25, Pin:2 not mapped, it has been pressed.
[76086.608] [SEQ_UI_Button_Handler] Button SR:29, Pin:2 not mapped, it has been pressed.
[76086.783] [SEQ_UI_Button_Handler] Button SR:29, Pin:2 not mapped, it has been depressed.
[76086.828] [SEQ_UI_Button_Handler] Button SR:25, Pin:2 not mapped, it has been depressed.

 

I think that it would be returning matrix values and not SR values or the SR values should be activating what they are mapped to by matrix assignment if the matrix is mapping to ports above 23 like it looks like it may be doing. . I have not been able to find the matrix mapping part looking in the code to have a better sense of it.

I can turn off the BLM and map a button to say the start/stop buttons with a SR 1 x mapping and the sequencer starts and stops. I do not have any 74HC595 on hand to test the DIO select or leds. I have a spare soic 595 I will try soldering some jumpers to the legs to be able to test with it.

Additionally if I update button mapping from MX Y mapping to say SR 25 pin 6 and 7 to play stop as returned above things work for the buttons mapped.

 

Same thing with NG it does not see the CS but I think that is my not mapping the BLM correctly. NG works as expected with the breadboard. This is the NG script I put in the DEFAULT.NGC file for testing:

# BLM8x8 without button/LED emulation

RESET_HW

LCD "%C@(1:1:1)Simple 8x8 BLM"

# HW definitions:
DIN_MATRIX  n= 1   rows=8  inverted_sel=0  sr_dout_sel1=1  sr_din1=1
DOUT_MATRIX n= 1   rows=8  inverted_sel=0  sr_dout_sel1=1  sr_dout_r1=2
# note: actually the sr_dout_sel1 in DOUT_MATRIX could be removed,
# since DIN_MATRIX already outputs the selection pulses there
# this is just for the case that somebody copy&pastes the definition...

# which events should be sent by the button matrix?
# the key number will be automatically incremented depending on the button index of the matrix
EVENT_BUTTON_MATRIX id=1  fwd_id=LED_MATRIX:1  type=NoteOn key=36 lcd_pos=1:1:1 label="Matrix1 Pin %2p %b"

 

Yes the constant restarting on the stm32f4 gets old. the LPC does not require the restarting MIOS if you reset from console. That is a nice option.

I am pretty sure the cable is good it works going to the bread board.

 

 

Edited by gerald.wert
Link to comment
Share on other sites

11 hours ago, gerald.wert said:

I have been doing more testing and I am not sure the CS board is the issue. I did find a missed solder joint on the board on one of the diodes but that should only affect one switch and had no affect fixing it.

That's right, a missing or reversed diode should mean only that position doesn't switch.

 

 

11 hours ago, gerald.wert said:

I can turn off the BLM and map a button to say the start/stop buttons with a SR 1 x mapping and the sequencer starts and stops. I do not have any 74HC595 on hand to test the DIO select or leds. I have a spare soic 595 I will try soldering some jumpers to the legs to be able to test with it.

So in general, it does work? You mentioned previous trouble with your SD card, so that should be eliminated . FWIW, I'm having trouble following where you're at; the more explicit you are with a description of what you've tried/what you're seeing, the more I can help. 

Let's see if the SRIO works, ignoring the SD card for the moment:

  • Eject the SD card
  • Download the v4l firmware on the wiki
  • Open MIOS Studio, connect to the Core, upload the .hex
  • After successful upload, the Core will reset and MIOS Studio will be unresponsive to the Core 
    • do the LEDs chase up and down the rows? This will take a few seconds as it searches for an SD card
      • if yes, then the DOUT sides of anodes and sinks are working
      • if not, then there's a problem

Possible causes:

  • J8/9 SRIO isn't being sent properly
    • is the HCT541 chip on the Core okay?
    • is the header connected the right way around?
    • is the cable correct with all pins connected and no shorts between?
  • Problem with the HC595 chips on the v4L CS
    • were the chips handled improperly (e.g. static discharge, overheated during soldering)?
    • are there any shorts between the pins? 
    • are any pins connected to +5V/0V (ground)? Some are by design, so be sure to check the DOUTX4 schematic
  • The LEDs are non-standard with anode/cathode swapped. 
    • you can verify this with a multimeter, +lead to round side (anode), -lead to flat side (cathode). They probably won't light up as there are multiple LEDs connected.

 

Assuming the light show works, you can try to push a few buttons. Most should give some response, but the positions might be out of order due the absence of a config file.

Do the buttons work? If not, then it's an issue with the DIN side. Carry out the same checks; you can reference the DINX4 schematic.

 

 

11 hours ago, gerald.wert said:

Additionally if I update button mapping from MX Y mapping to say SR 25 pin 6 and 7 to play stop as returned above things work for the buttons mapped.

 

Same thing with NG it does not see the CS but I think that is my not mapping the BLM correctly. NG works as expected with the breadboard. This is the NG script I put in the DEFAULT.NGC file for testing:

# BLM8x8 without button/LED emulation

RESET_HW

LCD "%C@(1:1:1)Simple 8x8 BLM"

# HW definitions:
DIN_MATRIX  n= 1   rows=8  inverted_sel=0  sr_dout_sel1=1  sr_din1=1
DOUT_MATRIX n= 1   rows=8  inverted_sel=0  sr_dout_sel1=1  sr_dout_r1=2
# note: actually the sr_dout_sel1 in DOUT_MATRIX could be removed,
# since DIN_MATRIX already outputs the selection pulses there
# this is just for the case that somebody copy&pastes the definition...

# which events should be sent by the button matrix?
# the key number will be automatically incremented depending on the button index of the matrix
EVENT_BUTTON_MATRIX id=1  fwd_id=LED_MATRIX:1  type=NoteOn key=36 lcd_pos=1:1:1 label="Matrix1 Pin %2p %b"

 

 

It's a good idea to test with NG and the basic BLM. You should use the following NGC:

 

# BLM8x8 without button/LED emulation

RESET_HW

LCD "%C@(1:1:1)Simple 8x8 BLM"

# HW definitions:
DIN_MATRIX  n= 1   rows=8  inverted_sel=0  sr_dout_sel1=1  sr_din1=1
DOUT_MATRIX n= 1   rows=8  inverted_sel=0  sr_dout_sel1=1  sr_dout_r1=2
# note: actually the sr_dout_sel1 in DOUT_MATRIX could be removed,
# since DIN_MATRIX already outputs the selection pulses there
# this is just for the case that somebody copy&pastes the definition...

# which events should be sent by the button matrix?
# the key number will be automatically incremented depending on the button index of the matrix
EVENT_BUTTON_MATRIX id=1  fwd_id=LED_MATRIX:1  type=NoteOn range=0:127 lcd_pos=1:1:1 label="Matrix1 Pin %2p %b"

 

this assigns each button to its respective LED. If it doesn't work, it could be the SD is failing to read properly (although I'd expect some sort of error message).

  • try formatting the SD
  • try another SD

 

Best,
Andy

 

 

 

 

Link to comment
Share on other sites

Thanks for the ideas on testing. Yes there are no lights on the CS on startup and no response from any button pushes either. I am going to test it some with NG when I get a chance. I built a small bread board and put a 595 and a 165 on it with some buttons and leds. I figured it would be good to have peace of mind knowing everything works ahead of the CS. Cable is good. SD cards are good. DIO is good DIN is good. Cable header boxes are in the right way. Both cores the stm32f4 and lpc17 are fully working. I tested some of the leds and they are testing normal and not reversed. I did find that the 74hct541on the stm32f4 core was not working and preventing the DOUT chain from functioning on that core. Interesting that the DIN chain was good on it. I replaced it and it is running properly with the breadboard.  On to testing the CS some more now that I know everything is working ahead of it.

breadboard.thumb.jpg.bf39ec725831cf6b070

Link to comment
Share on other sites

Here is my circuit for the bread board if anyone else needs to test a core. I would recommend testing with separate DIN and DOUT first to keep testing simpler. I found it a lot easier to look at and build  just one position of the BLM. the full map is super useful for tracking down a bad component to testing a row or column.

58c03171635a2_BLMtestschematic.jpg.eb5f7

 

 

 

 

Edited by gerald.wert
image update
Link to comment
Share on other sites

Thanks Latigrid-on  for all the great suggestions on where to look to trouble shoot. I finally got everything sorted out. Since nothing was working I decided to break it down into simpler blocks and work through them one at a time. I removed IC2 to accomplish this. This way I could just test IC! and make sure it was working properly. With IC2 removed you can manualy select any of the 6 rows of 8 buttons by grounding the switch pin that IC2 normall would.  Here is the pin I chose to ground to test with. I chose to use the pad at the switch and to run the jumper through the mounting hole on the board to the ground on the DIH box. I figured these two places would be the most durable places to solder and I should not have to worry about lifting traces there.

58c0485f5b4da_DINtest.thumb.jpg.66cd0d5f

 

 

Link to comment
Share on other sites

This is the code I used in NG to test with the jumper connected:

# Reset to default

RESET_HW

# EVENTs

EVENT_BUTTON id= 1 fwd_id=LED:1 type=NoteOn chn= 1 key= 36 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 2 fwd_id=LED:2 type=NoteOn chn= 1 key= 37 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 3 fwd_id=LED:3 type=NoteOn chn= 1 key= 38 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 4 fwd_id=LED:4 type=NoteOn chn= 1 key= 39 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 5 fwd_id=LED:5 type=NoteOn chn= 1 key= 40 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 6 fwd_id=LED:6 type=NoteOn chn= 1 key= 41 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 7 fwd_id=LED:7 type=NoteOn chn= 1 key= 42 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

EVENT_BUTTON id= 8 fwd_id=LED:8 type=NoteOn chn= 1 key= 43 range= 0:127 offset= 0 ports=1000100000001000 lcd_pos=1:1:1 label="^std_btn"

 

If you are connected to the core with mios studio  you should see the button presses displayed in mios studio.

There was still nothing input from any of the buttons. This confirmed IC1 was bad. I replaced it with a fresh IC and the buttons finally came to life.

Link to comment
Share on other sites

Not wanting to have to solder and remove a chip more than once I decided to just replace IC2 with a new IC as well since it was already off the board. I was not feeling lucky. I also removed the test grounding jumper and after soldering in the new IC we have buttons and lights! I used the script Latigrid-on posted above to test the BLM at this point and all buttons and lights worked. The picture is with the SEQ4L firmware loaded and running. I am not sure what cause all the trouble with the IC. It may have been overheating, possibly static or all the moving around the board got with all the testing of the initial core issues. My SMT technique is a lot better now and that is a good thing!  

working.thumb.jpg.1ebc08dd7550c447827e78

Link to comment
Share on other sites

Good perseverance! :cheers:

I'm glad for you that everything's up and running. Sounds like there were myriad problems with funky SD cards to clapped out logic. If you were able to get the chips off easily, that suggests a hot air rework station? If so, you should probably discard chips removed in this way unless you control the temperature very carefully (or they're super $$). It's not quite as quick as swapping out a socketed DIP, but almost :).

FWIW, my method of soldering SOIC is to tack a corner pin then run down one side, then go to another chip. This gives a bit of time for the first to cool down. If possible I also like to do a third run where I hold the iron at a low angle and gently push the solder fillet towards the pin. I find this gives a more uniform joint that bonds underneath the leg.

 

Enjoy the SEQ, and thanks for sharing your troubleshooting tips.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...