| Products > Test Equipment |
| SainSmart DDS120 & DDS140 USB Oscilloscope |
| << < (65/84) > >> |
| merbanan:
--- Quote from: doctormord on March 19, 2016, 04:14:54 pm ---You could program the sigrik firmware to eeprom as well, so it works out of the box, I guess. Flashing the EPROM is shown in this thread, also hex editing the IDs (vendor/class/usb). For the bogus values, maybe the ADC is read out/running in a different way than on the Hantek? --- End quote --- Yeah I know I can modify it, but I want it to be usable without modifications. So unless anyone knows how to reload the FX2 firmware via a usb command I will just implement the SainSmart protocol for sigrok. The bogus values are definitely from differences in the hardware. |
| doctormord:
Alright, the commands/functions can be seen from their .dll. AiReadBulkData AutoMeasurement BufferInit DataPreDisposal DeviceClose DeviceOpen EventCheck GetBuffer4Read GetBuffer4Wr GetData GetHWbufferSize GetInfoByte GetInfodouble GetRawData4Read SetData SetInfo SetReadEnableOrNot SetStableEnableOrNot SetTrigInfo TrigDataPrepare USBCtrlTrans USBCtrlTransSimple |
| merbanan:
I have been working on the sigrok driver and it is sort of working now. I also figured out how to upload custom firmware and get that running properly. I also found out how to program the extra gain mode that is there but not used by the vendor software. Now that all this is working I'm hitting the transfer limit of the "50MHz" mode. 240kHz and 2.4MHz seem fine with the exception of the square wave that seem to change the duty cycle depending on the sample rate. So right now I am using interrupt transfers for usb transfers. Is it possible to use something else ? Something faster or is this a limit of the firmware ? |
| doctormord:
What's the extra gain mode? Fastest mode would be fifo streaming. We discussed this in the tread somewhere one the first pages, you may want to look. Problem is, the scope is running blind when transferring data, because of the transfer they implemented. (The original software is using polling for transfers) |
| merbanan:
--- Quote from: doctormord on March 26, 2016, 11:41:07 am ---What's the extra gain mode? Fastest mode would be fifo streaming. We discussed this in the tread somewhere one the first pages, you may want to look. Problem is, the scope is running blind when transferring data, because of the transfer they implemented. (The original software is using polling for transfers) --- End quote --- http://sigrok.org/wiki/SainSmart_DDS120 has the details. But channel 0 has 0x0A as valid config and Channel 1 has 0x22. These modes are very close in gain to another gain step. Thus I reason that they omitted it in the software. On your blog you list 5 used modes but in your posts you listed 6. I just sorted out the details which bit to set and found out it was fairly useless. I think you are wrong about it using polling. I think the 0x33 command is a FIFO clear command. I can at any time just request more packets without any problem. No need to issue a 0x33 command per packet. The vendor software might do it this way to be able to get a clean part of a continuous stream to analyse. They might always get zeros at the start and then a signal to do the analysis on. One of the lower time resolutions only send one 0x33 packet per 16 data packets. And there is a post in this thread where someone says he just started streaming without any start command. As far as I understood there is a clock that clocks the adc. The adc data lines are read by the fx2 and placed in a buffer somewhere on the FX2 chip (lets say 1024 bytes). When the buffer is filled it will start filling another buffer. During that time you need to get the first buffer over to the host because when the second buffer is full the FX2 will start over with the first one. So if you didn't manage to get the first buffer in time there will be a time discontinuity. Right now the vendor software is using usb interrupt transfers (my driver also). The openhantek dds-120 port is using bulk transfers. So it might be possible to use something else that is be better. Anyway I need to do some more testing before I can say anything for sure. Right now I have only been testing with the built in 1kHz square wave and with a perfect timed packet drop things can appear very strange. |
| Navigation |
| Message Index |
| Next page |
| Previous page |