Hi Craig Markwardt

Thanks for your reply. I search some of this kind of article, and it seems 
doesn't easy to understand the architecture.
Like this 
link: 
http://passive-components.eu/understanding-rs-485-passive-fail-safe-biasing/
Do you have any use case for me to reference? It will be very useful for me 
to design on our board.

Thanks a lot,
Harvey

Craig Markwardt於 2016年12月14日星期三 UTC+8上午12時33分03秒寫道:
>
>
> Greetings--- I have experienced this problem before.  It is likely an 
> issue with the physical interface, not software.   Basically the issue is 
> that the receiver is still receiving when the line goes to an idle 
> undefined state, and receives "garbage" data.   Search for RS 485 failsafe 
> bias for more background.  You will need some kind of biasing resistor to 
> pull the line(s) up to a true idle state.
>
>
> On Monday, December 12, 2016 at 11:15:17 PM UTC-5, 張皓傑 wrote:
>>
>> Hi all
>>
>> I'm useing debian 7.11(kernel 3.8) version image.
>> I'm trying to use rs485 cape on BBB or BBG. Below are the cape I use.
>> 485 CAN CAPE
>> http://www.waveshare.com/wiki/RS485_CAN_CAPE
>> 485 CLICK BOARD
>> http://www.mikroe.com/click/rs485-3.3v/
>>
>> As I know these boards don't have capability to auto handle read/write 
>> mode switching.
>> I try to use linux rs485 mode to auto handle switching problem.
>> The attached file is my sample code.
>>
>> My problem is if I read data after writing, the receiving data will add a 
>> redundant data(0x00) at the beginning of the buffer.
>> Below is the result.
>> This is modbus command, that due to the redundant data, the modbus 
>> command will be failed.
>> So I use raw command to get data.
>>
>> send: 01 04 00 00 00 01 31 CA
>> receive: 00 01 04 02 01 3E 39 70
>>
>> send: 01 04 00 01 00 01 60 0A
>> receive: 00 01 04 02 00 E2 39 79
>>
>> send: 02 04 00 00 00 01 31 F9
>> receive: 00 02 04 02 00 BA 7C 83
>>
>> send: 02 04 00 01 00 01 60 39
>> receive: 00 02 04 02 00 FA 7D 73
>>
>> send: 03 04 00 00 00 01 30 28
>> receive: 00 03 04 02 03 11 00 0C
>>
>> send: 03 04 00 01 00 01 61 E8
>> receive: 00 03 04 02 00 DE 40 A8
>>
>> This redundant data is not read data from modbus device. I use another 
>> rs485 cable to monitor the data will not have this redundant data.
>> Like this:
>> send: 01 04 00 00 00 01 31 CA
>> receive: 01 04 02 01 3E 39 70
>>
>> If I only use receive mode, there will not be any redundant data in the 
>> buffer.
>>
>> As I tried, kernel 4.4 cannot work 485 system call.
>>
>> I'm not familiar in kernel, does anyone could give me some advice?
>>
>> Many thanks,
>> Harvey 
>>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/53ecf4bb-14a6-4737-816b-2a128592e3b3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to