Sign in

username:

password:



Not a member?

Search compdsp



Search tips

comp.dsp by Keywords

Adaptive Filter | ADPCM | ADSP | ADSP-2181 | Aliasing | AMR | Anti-Aliasing | ARMA | Autocorrelation | AutoCovariance | Beamforming | Bessel | Blackfin | Butterworth | C6713 | CCS | Chebyshev | CIC Filter | Circular Convolution | Code Composer Studio | Comb Filter | Compression | Convolution | Cross Correlation | DCT | Decimation | Deconvolution | Demodulation | DM642 | DSP Boards | DSP/BIOS | DTMF | Echo Cancellation | Equalization | Equalizer | ETSI | EZLITE (Ez-kit Lite) | FFT | FFTW | FIR Filter | Fixed Point | FSK | G.711 | G.723 | G.729 | Gaussian Noise | Goertzel | GPIO | Hilbert Transform | IFFT | IIR Filter | Interpolation | Invariance | JTAG | Kalman | Laplace Transform | Levinson | LPC | McBSP | MIPS | Modulation | MPEG | Multirate | Notch Filter | Nyquist | OFDM | Oversampling | Pink Noise | Pitch | PLL | Polyphase | QAM | QDMA | Quantization | Quantizer | Radar | Random Noise | Reed Solomon | Remez | Resampling | RTDX | Sampling | Sharc | TI C6711 | Undersampling | Viterbi | Wavelets | White Noise | Wiener Filter | Windowing | XDS510PP | Z Transform

Sponsor

Industry's highest performing at the lowest power DSPs now as low as $5.00*
Start development today!
*volume pricing for 10ku

Discussion Groups

Free Online Books

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | Comp.DSP | BF533: How to create a big-banging version of a UART

There are 3 messages in this thread.

You are currently looking at messages 0 to 3.


BF533: How to create a big-banging version of a UART - Reuven Kishon - 2004-08-29 19:17:00

Hello there,

I was wondering if anyone had tried to create a bit-banging version of
a UART for the Blackfin 533. I am working on a project where we
unforunately need to use 2 UARTs and the blackfin only has one.

Since I am not at work right now, I'll try to explain how we have
tried to go about it.

First of all we have the TX line of a UART device tied to PF7. We
start off by checking for 16 consecutive 1's at the data rate of 19.2
kbps by using timer0 to check incoming data every 50us or so. Once we
see that many ones, we stop the timer and configure PF7 to be an high
to low edge interrupt source (this is because the start bit is a
transition from high to low). After we see the start bit, we
immediately turn off programmable flag interrupts for PF7 and enable
the timer yet again (this time at half the rate of 19.2kbps because we
want to clock the data in at the middle of each bit, and the start bit
only needs half the time  to reach the middle of the bit). After the
stop bit is found, the next time the timer is called we change the
data rate back to 19.2kbps and keep storing the data bits that come
in. Once we get all 8 data bits, we look for the stop bit (indicated
by a 1), and once we receive it, we stop the timer and start the
proccess all over again by looking for a high to low interrupt on PF7.

Our problem seems to be that our timing may be off slightly because we
have been checking the values we are receiving and comparing them to
the known sequence the UART Transmitter sends (which is AT=BUSY+7),
and they dont match completely (1 or 2 bytes in error).

I don't know how much it helps without code, but I thought it may be
worth a try. Who knows, maybe someone has allready come up wiht a bit
banging version of a UART on the BF533,

Reuven
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: BF533: How to create a big-banging version of a UART - glen herrmannsfeldt - 2004-08-29 21:31:00



Reuven Kishon wrote:

(snip of bit banging UART)

> Our problem seems to be that our timing may be off slightly because we
> have been checking the values we are receiving and comparing them to
> the known sequence the UART Transmitter sends (which is AT=BUSY+7),
> and they dont match completely (1 or 2 bytes in error).

> I don't know how much it helps without code, but I thought it may be
> worth a try. Who knows, maybe someone has allready come up wiht a bit
> banging version of a UART on the BF533,

I don't know if it helps any, but I used to use an EPSON printer
with a serial port, which I believe was implemented in an
Intel 8049, and connected it to a TRS-80 Color Computer with
a bit banged serial port output.

It seems that the Epson was very sensitive to slightly slow
timing, but easily ran if the bits were shorter than desired.

I would carefully check your timing, and also try varying it
both ways around the proper timing.

-- glen

______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: BF533: How to create a big-banging version of a UART - Leon Heller - 2004-08-30 03:47:00

"Reuven Kishon" <r...@gmail.com> wrote in message
news:4...@posting.google.com...
> Hello there,
>
> I was wondering if anyone had tried to create a bit-banging version of
> a UART for the Blackfin 533. I am working on a project where we
> unforunately need to use 2 UARTs and the blackfin only has one.

[deleted]

ADI used a bit-banged UART on the old ADSP-2181 EZkit. You should be able to
find the monitor code for that, which might help.

Leon


______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.