Dangerous Prototypes

Other projects => Open Bench Logic Sniffer => Topic started by: metRo_ on December 11, 2010, 03:45:14 pm

Title: OLS UART Analyse problems - Logic Sniffer client
Post by: metRo_ on December 11, 2010, 03:45:14 pm
UPDATE HERE (http://http://dangerousprototypes.com/forum/index.php?topic=1534.msg14842#msg14842)

Hi, i received yesterday my OLS :D :D and start some basic tests.
I use the following code in my arduino:
Quote
void setup(){
 Serial.begin(115200);
 pinMode(2, OUTPUT);
 pinMode(3, OUTPUT);
 pinMode(4, OUTPUT);
 pinMode(5, OUTPUT);
 pinMode(6, OUTPUT);
 pinMode(7, OUTPUT);
}

void loop(){
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);

  Serial.print('e');
}

and start sniffing:
TEST1:
(http://http://lh3.ggpht.com/_i2teYMYP9C0/TQOD2VZCfJI/AAAAAAAAA8U/Q7OA9EYTKk0/s800/ols2.jpg)
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TQOD2_ZPMNI/AAAAAAAAA8Y/eaKnvtGRNWs/s800/ols3.jpg)
(http://http://lh4.ggpht.com/_i2teYMYP9C0/TQOD3HGYIGI/AAAAAAAAA8c/dJHj0V7ZDLg/s800/ols4.jpg)
It's ok, but it is like lucky because another recapture with the same settings and the result is:
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TQOD3xADJDI/AAAAAAAAA8k/uFFCoYtU6_o/s800/ols6.jpg)
(http://http://lh3.ggpht.com/_i2teYMYP9C0/TQOD3iT5L9I/AAAAAAAAA8g/zL1L_SKxMmQ/s800/ols5.jpg)

TEST2: Sampling Rate=20Mhz
(http://http://lh5.ggpht.com/_i2teYMYP9C0/TQOD5jVvsaI/AAAAAAAAA84/w26oUY_UYn4/s800/ols10.jpg)
(http://http://lh5.ggpht.com/_i2teYMYP9C0/TQOD6bJ84rI/AAAAAAAAA9A/sKciYO-PINw/s800/ols12.jpg)

TEST3: Add a delay between each serial.print to Arduino Code
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TQOD6zrTbFI/AAAAAAAAA9E/Eet6cyoDYKQ/s800/ols13.jpg)
With the delay it's all ok because it can identify the start bit.

1 - Maybe a good feature its the possiblite to us say where start the uart comunication.

2 - Another thing is the position of the info, per example:  0x65 - 'e' - 1100101
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TQOD6zrTbFI/AAAAAAAAA9E/Eet6cyoDYKQ/s800/ols13.jpg)
As you can see the label with the info about the byte is a bit offset.
(http://http://lh3.ggpht.com/_i2teYMYP9C0/TQONniCth-I/AAAAAAAAA9U/2_R8OjcoSX8/s800/ols13byMe.jpg)

(Sorry if it is just newbie erros)
Title: Re: OLS UART Analyse problems - Logic Sniffer client
Post by: jawi on December 11, 2010, 05:33:02 pm
@metRo_: thanks for the detailed information. The UART decoder tool might still contain errors, as it is not very thoroughly tested yet. Determining the start-bit might be buggy, as you've shown. I'll load up a similar sketch in my own Arduino to test it as well.

You can use cursors 1 & 2 to mark the area of interest for a decoder tool; this way, you can limit the output of the decoder a bit.
Title: Re: OLS UART Analyse problems - Logic Sniffer client
Post by: metRo_ on December 25, 2010, 01:06:30 am
Teste Number 1:

Arduino Code:
Quote
void setup(){
 Serial.begin(9600);
 pinMode(2, OUTPUT);
 pinMode(3, OUTPUT);
 pinMode(4, OUTPUT);
 pinMode(5, OUTPUT);
 pinMode(6, OUTPUT);
 pinMode(7, OUTPUT);
}

void loop(){
  Serial.print('e');
}

OLS1_1

(http://http://lh3.ggpht.com/_i2teYMYP9C0/TRUuyFDRGhI/AAAAAAAAA-U/yXAu0Sr1aJs/s720/ols1_1.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554397153315592722)

The first capture give me the following singal:
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TRUuylByYPI/AAAAAAAAA-c/kAhTVf80Yuw/s720/ols1_3.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554397161899319538)
And if i use uart analyser it gives me a 0x59(Y) and it's ok because it doesn't have the data to a 'e'.
(http://http://lh3.ggpht.com/_i2teYMYP9C0/TRUuyQFkKHI/AAAAAAAAA-Y/oXGucqMGZFk/s720/ols1_2.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554397156278020210)

Refresh the capture:
(http://http://lh3.ggpht.com/_i2teYMYP9C0/TRUu0N9l3TI/AAAAAAAAA-k/cWyMlH2xh-E/s720/ols1_5.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554397190067445042)
Now the signal gives me a 'e' :)
(http://http://lh5.ggpht.com/_i2teYMYP9C0/TRUuzDV7wzI/AAAAAAAAA-g/uj3ZlQ4zWmY/s720/ols1_4.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554397170036884274)

But like the next picture have a wrong position:
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TRUvzrrOa5I/AAAAAAAAA-s/Shh6-K0iupY/s720/ols1_5_bits.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554398280375233426)

That first test is not a very real situation because it doesn't have enought data. So let slow the capture.

OLS2_1
(http://http://lh5.ggpht.com/_i2teYMYP9C0/TRUx8uR1GnI/AAAAAAAAA_A/yEXBUSD2XKo/s720/ols2_1.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554400634716101234)

It's a 'e' but...  (the label still not correct)
(http://http://lh3.ggpht.com/_i2teYMYP9C0/TRUyDduERoI/AAAAAAAAA_E/FqMy7_qqL5I/s720/ols2_2.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554400750530217602)
(http://http://lh4.ggpht.com/_i2teYMYP9C0/TRUyJlyIC-I/AAAAAAAAA_I/5MLsIPiObT4/s720/ols2_3.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554400855773940706)

a refresh capture and it's not a 'e'...
(http://http://lh4.ggpht.com/_i2teYMYP9C0/TRUyOPZ-MwI/AAAAAAAAA_M/U6hOGZh2QhE/s720/ols2_4.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554400935666397954)
(http://http://lh6.ggpht.com/_i2teYMYP9C0/TRUyTWOLFDI/AAAAAAAAA_Q/sL_7mTyo01o/s720/ols2_5.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554401023395304498)


Now trying to use the cursors:
(http://http://lh5.ggpht.com/_i2teYMYP9C0/TRU0ZPTzi0I/AAAAAAAAA_Y/68waMGiOF24/s720/ols3_1.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554403323642350402)
(http://http://lh4.ggpht.com/_i2teYMYP9C0/TRU0fqnkLMI/AAAAAAAAA_c/BXZ8wako05U/s720/ols3_2.jpg) (http://http://picasaweb.google.com/josescxavier/Ols_testes#5554403434052201666)

It's still a 'e'!


(http://http://www.picasa2html.com/bypicasa2html.gif) (http://http://www.picasa2html.com)

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.01422049344session_write_close ( )...(null):0
20.01452180920ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01462181696Database_MySQL->query( ).../DatabaseHandler.php:119
40.05792320416Database_MySQL->error( ).../Db-mysql.class.php:273