⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspif.h

📁 使用三星ARM7芯片S3C44B0
💻 H
字号:
#ifndef DSPIF_H
#define DSPIF_H
#include "include.h"
typedef enum 
{
	MSB_FIRST,
	LSB_FIRST
}TOrder;

/* HPIC "per-bits" */
#define SET_DSPINT		4 /* write HPIC */
#define CLEAR_DSPINT	0 /* write HPIC */
#define SET_HINT		0 /* write HPIC */
#define CLEAR_HINT		8 /* write HPIC */
#define CHECK_HINT		8 /* read  HPIC */
#define XHPIA      (1<<4)
#define First 	(0<<0)
#define Second  (1<<0)
#define Write	(0<<1)
#define Read    (1<<1)
#define HPIC    ((0<<3)+(0<<2))
#define HPID	((0<<3)+(1<<2))
#define HPIA    ((1<<3)+(0<<2))
#define HPIDL	((1<<3)+(1<<2))

/* define IFs to DSP */
#define DSP1			0x06000000	
#define DSP2			0x08000000	

#define toDSP			0x60
#define fromDSP			0x63


#define DSPHostWrite(DSPx,Data, Destination, Byte) *(volatile unsigned char *)(DSPx+Write+Destination+Byte) = Data
#define DSPHostRead(DSPx,Source, Byte)             *(volatile unsigned char *)(DSPx+Read+Source+Byte)
 
//to DSP command
#define	BANDWIDTH	 (('B'<<8)+('W'))		
#define SPECSPAN  	 (('S'<<8)+('S'))
#define MODULATION	 (('M'<<8)+('O'))
#define GAINCTRL   	 (('G'<<8)+('M'))
#define GCTRL_AGC	 (('A'<<8)+('C'))
#define GCTRL_MGC	 (('M'<<8)+('C'))
#define SAMAUDIO	 (('S'<<8)+('A'))
#define SAMDATA		 (('S'<<8)+('D'))
#define ON			 (('O'<<8)+('N'))
#define OFF			 (('O'<<8)+('F'))
#define GETSPEC		 (('G'<<8)+('S'))
#define GETLEV		 (('G'<<8)+('L'))

//#define TEST		 0x55aa

typedef enum 
{
	AM,
	FM,
	CW,
	USB,
	LSB
}Modulation;

typedef enum
{
	B0p2K,
	B0p5K,
	B1p0K,
	B3p2K,
	B5p0K,
	B6p4K,
	B8p0K,
	B10K,
	B15K,
	B20K,
	B30K,
	B35K,
	B50K,
	B60K,
	B100K,
	B150K,
	B200K,
	B250K,
	B300K,
	B500K,
	B700K
}IFBandWidth;


//Functions
int DSPCheckHInt(U32 DSPx);

void DSPClearHInt(U32 DSPx);

void DSPSendHInt(U32 DSPx);

void DSPSetHPIByteOrder(U32 DSPx,TOrder Order);

void DSPHostWriteWord(U32 DSPx, U16 addr, U16 data);

int DSPHostReadWord(U32 DSPx, U16 addr);

int	DSPWriteCommand(U32 DSPx, U16 command,U16 parameter1,U16 parameter2);

void DSPHostWriteBlock(U32 DSPx, U16 addr, U16 *data, U16 size);

void DSPHostReadBlock(U32 DSPx, U16 addr, U16 *data, U16 size);

int DSPProgramDownload(U32 DSPx, const U8 *ProgramArray);
void DSPHostWriteHBlock(U32 DSPx, U16 addr, U16 *data, U16 size);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -