Truncated match.
PICList
Thread
'16c74 using BRGH=1'
1996\09\06@084341
by
Ray Gardiner
|
I am using the 16c74 with BRGH=1, and after extensive network tests
have concluded that for my application the error rates are vanishingly
small.
Alexej Vladimirov has posted some test code which I have rewritten
and run, with the intention of locating once and for all exactly
what the BRGH=1 problem really is. The weird thing is, I can't
reproduce the errors that he and others have reported.
The complete code is attached below. No errors after 10,000,000+ bytes
My "real" error rate test runs the networking software and detects errors
on a transaction by transaction basis.
The code presented here is just a simple loop back test, consequently
does not expose any sensitivity of the part to mismatched baud rates,
or sensitivity to line noise. Nonetheless, this is the type of test
that others have used when reporting the BRGH=1 problem.
If anyone cares to run the code below and can produce errors. I would like
to know. Until then I will continue using BRGH=1, and suggest that
others wanting to use the 16c74 with BRGH=1 evaluate according to the
application.
;
; Loop Back Test program for pic 16c74 comms
; Ray Gardiner 1996
;
; Notes:
; 1. Assemble with MPASM 1.4
; 2. Link RXD and TXD (RC,6 and RC7)
;
list p = pic16c74
include "c:\mpasm\p16c74.inc"
errorlevel -302
cblock 0x20
ErrorCount:4 ; 32 bit counter for errors
GoodCount:4 ; 32 bit counter for chars
TxChar ; what we sent
RxChar ; what we got back
endc
; stuff for 32 bit counters
;
Inc macro a
local x
incf a,F
bnz x
incf a+1,F
bnz x
incf a+2,F
bnz x
incf a+3,F
x
endm
Zero macro a
clrf a
clrf a+1
clrf a+2
clrf a+3
endm
; main program starts around here
;
org 0
goto Start
org 4
goto Start ; no interrupts
Start clrwdt
bsf STATUS,RP0
movlw 0xFF
movwf OPTION_REG
clrf PIE1
clrf PIE2
clrf INTCON
; initialize comms 153600bps with SPBRG=1,BRGH=1
; I am using Fosc = 4.9152 Mhz
movlw b'10100100'
; |
; +-------------- BRGH
;
movwf TXSTA
movlw .1
movwf SPBRG
bcf STATUS,RP0
movlw b'10010000'
; |
; +----------------- SREN
;
movwf RCSTA
bcf RCSTA,CREN ; clear any errors at start
bsf RCSTA,CREN ;
;
Zero ErrorCount ; clear counters
Zero GoodCount ;
clrf TxChar
main incf TxChar,F
clrwdt
call Tx
call Rx
movf TxChar,w
subwf RxChar,w
bnz NotGood
Inc GoodCount
goto main
NotGood Inc ErrorCount
nop ; <<< insert break here >>>
goto main
;
;-------;
; send TxChar
Tx
btfss PIR1,TXIF
goto Tx
movf TxChar,W
movwf TXREG
return
;
;-------;
; receive RxChar
Rx
btfss PIR1,RCIF
goto Rx
movf RCREG,w
movwf RxChar
btfss RCSTA,OERR
return
bcf RCSTA,CREN
bsf RCSTA,CREN
return
end
Ray Gardiner, Shepparton, Victoria, Australia spam_OUTrayTakeThisOuT
netspace.net.au
1996\09\11@123529
by
Alexej Vladimirov
|
Hello Ray!
06 Sep 96, .....rayKILLspam
@spam@netspace.net.au writes to all:
P> I am using the 16c74 with BRGH=1, and after extensive network tests
P> have concluded that for my application the error rates are vanishingly
P> small.
P> Alexej Vladimirov has posted some test code which I have rewritten
P> and run, with the intention of locating once and for all exactly
P> what the BRGH=1 problem really is. The weird thing is, I can't
P> reproduce the errors that he and others have reported.
P> The complete code is attached below. No errors after 10,000,000+ bytes
P> The code presented here is just a simple loop back test, consequently
P> does not expose any sensitivity of the part to mismatched baud rates,
P> or sensitivity to line noise. Nonetheless, this is the type of test
P> that others have used when reporting the BRGH=1 problem.
P> If anyone cares to run the code below and can produce errors. I would
P> like to know. Until then I will continue using BRGH=1, and suggest
P> that others wanting to use the 16c74 with BRGH=1 evaluate according to
P> the application.
The main difference with your type of loopback test is, that in your case
transmitter and receiver powered from the same clock generator and fully
sinhronized.
In my application PIC was used for RS232 communication with PC, so clock sources
for transmitter and receiver was different.
Another interesting point is, that I check this code with different silicon
revisions and found some working without this problem.
Below is list of silicons, checked by me. I will be glad, if some PICLIST
users check their PIC16C65//65A/73/73A/74/74A/74ME micros with external loopback
and BRGH=1 (send to PIC from PC, loopback in PIC, receive by PC and compare, as
in my test) to clear up situation with current silicon revisions.
Work without errors:
- PIC16C74/JW 9508 CAT
Work with errors:
- PIC16C74 ENG SMP 9430 CAT Rev A2
- PIC16C74 ENG SMP 9502 CAT Rev A2
- PIC16C74/JW 9524 SAT
- PIC16C74ME A2 BOND 9443 CAA - Emulator pod
Alexej Vladimirov avlad
KILLspammail.ormix.riga.lv
http://www.ormix.riga.lv/eng/mchip/mchip.htm
...more than 170 Microchip-related links now...
--- GoldED/2 2.50+
1996\09\12@065554
by
liebchen
|
Alexej Vladimirov wrote:
>
> P> I am using the 16c74 with BRGH=1, and after extensive network tests
> P> have concluded that for my application the error rates are vanishingly
> P> small.
>
> Below is list of silicons, checked by me. I will be glad, if some PICLIST
> users check their PIC16C65//65A/73/73A/74/74A/74ME micros with external loopback
> and BRGH=1 (send to PIC from PC, loopback in PIC, receive by PC and compare, as
> in my test) to clear up situation with current silicon revisions.
>
> Work without errors:
> - PIC16C74/JW 9508 CAT
>
> Work with errors:
> - PIC16C74 ENG SMP 9430 CAT Rev A2
> - PIC16C74 ENG SMP 9502 CAT Rev A2
> - PIC16C74/JW 9524 SAT
> - PIC16C74ME A2 BOND 9443 CAA - Emulator pod
>
Has Microchip a comment to these investigations?
Could they explain to us, what the nature of the
BRGH=1 problem is.
Maybe, some of us can decide, to use it or not.
regards
Wolfram
--
+------------------------------------------------+
! Wolfram Liebchen, Forschungsinstitut fŸr Optik !
! .....liebchenKILLspam
.....ffo.fgan.de !
+------------------------------------------------+
More... (looser matching)
- Last day of these posts
- In 1996
, 1997 only
- Today
- New search...