![Apex Digital STX104 Скачать руководство пользователя страница 37](http://html.mh-extra.com/html/apex-digital/stx104/stx104_reference-manual_2952893037.webp)
/*##################################################################################
* ANALOG INPUT TIMING FUNCTIONS
*/
/*****************************************************************
/ ANALOG INPUT MINIMUM SETTLING TIME
*/
static
unsigned
long
STX104_AI_Time_Settling_Minimum(
float
ai_capacitance_pf,
float
ai_resistance_ohms )
{
unsigned
long
settle_time_ns;
//settle_time = ai_resistance_ohms * ai_capacitance_pf * pow10(-12) * 16 * ln(2) * pow10(9)
settle_time_ns = (
unsigned
long
) ( ai_resistance_ohms * ai_capacitance_pf * pow10(-3) * 16
* log(2) );
return
( settle_time_ns );
}
/*****************************************************************
/ ANALOG INPUT 8254 TIMING
*/
static
void
STX104_AI_Timing_8254_Set(
int
board,
long
time_interval_ns )
{
long
high_count;
long
low_count;
unsigned
int
octet;
STX104_Set_Bank( board, 0 );
/* assumes 10MHz clock (i.e. no 1MHz jumper) */
low_count = 10L;
/* 1 microsecond intervals */
high_count = time_interval_ns / 1000;
while
( high_count > 65536L )
{
high_count = high_count >> 1;
low_count = low_count << 1;
}
while
( high_count < 2L )
{
high_count = high_count << 1;
low_count = low_count >> 1;
}
/* set counter/timer 2 */
outportb( stx104_base_address[board] + STX104_CT_CONFIGURATION, 0xB4 );
octet = ((
unsigned
int
) high_count) & 0x00FF;
outp( stx104_base_address[board] + STX104_CT2_DATA, octet );
octet = ((
unsigned
int
) high_count) >> 8;
outp( stx104_base_address[board] + STX104_CT2_DATA, octet );
/* set counter/timer 1 */
outportb( stx104_base_address[board] + STX104_CT_CONFIGURATION, 0x74 );
octet = ((
unsigned
int
) low_count) & 0x00FF;
outp( stx104_base_address[board] + STX104_CT1_DATA, octet );
octet = ((
unsigned
int
) low_count) >> 8;
outp( stx104_base_address[board] + STX104_CT1_DATA, octet );
}
/*****************************************************************
/ ANALOG INPUT GENERAL TIMING
*/
static
void
STX104_AI_Timing_Set(
int
board,
unsigned
long
ai_time_frame_ns,
unsigned
long
ai_time_intra_sample_ns )
{
unsigned
int
adc_burst_channel_count;
8.4 Analog Input Sample Timing
STX104 Reference Manual
Copyright © 2009 by
Apex Embedded Systems
. All rights reserved.
Thursday, October 08, 2009
29
8
Содержание STX104
Страница 1: ......
Страница 8: ......
Страница 10: ......
Страница 12: ......
Страница 16: ......
Страница 18: ......
Страница 20: ......
Страница 22: ......
Страница 42: ......
Страница 44: ......
Страница 116: ......
Страница 122: ......
Страница 124: ...STX104 Reference Manual 15 Copyright 2009 by Apex Embedded Systems All rights reserved 116 Thursday October 08 2009 15 ...
Страница 126: ......
Страница 128: ......
Страница 132: ......