×

AD5755-微控制器无操作系统驱动程序

消耗积分:2 | 格式:pdf | 大小:741.52KB | 2021-05-22

王军

分享资料个

This version (25 Jan 2021 05:27) was approved by Robin Getz.The Previously approved version (29 Jan 2016 15:20) is available.Diff

AD5755 - Microcontroller No-OS Driver

Supported Devices

Evaluation Boards

Overview

AD5755

The AD5755 is is a quad, voltage and current output DAC that operates with a power supply range from −26.4 V to +33 V. On-chip dynamic power control minimizes package power dissipation in current mode. This is achieved by regulating the voltage on the output driver from 7.4 V to 29.5 V using a dc-to-dc boost converter optimized for minimum on chip power dissipation.

The part uses a versatile 3-wire serial interface that operates at clock rates of up to 30 MHz and is compatible with standard SPI, QSPI™, MICROWIRE™, DSP, and microcontroller inter-face standards. The interface also features optional CRC-8 packet error checking, as well as a watchdog timer that monitors activity on the interface.

The goal of this project (Microcontroller No-OS) is to be able to provide reference projects for lower end processors, which can't run Linux, or aren't running a specific operating system, to help those customers using microcontrollers with ADI parts. Here you can find a generic driver which can be used as a base for any microcontroller platform and also specific drivers for Renesas platforms.

HW Platform(s):

Driver Description

The driver contains two parts:

  • The driver for the AD5755 part, which may be used, without modifications, with any microcontroller.
  • The Communication Driver, where the specific communication functions for the desired type of processor and communication protocol have to be implemented. This driver implements the communication with the device and hides the actual details of the communication protocol to the ADI driver.

The Communication Driver has a standard interface, so the AD5755 driver can be used exactly as it is provided.

There are three functions which are called by the AD5755 driver:

  • SPI_Init() – initializes the communication peripheral.
  • SPI_Write() – writes data to the device.
  • SPI_Read() – reads data from the device.

SPI driver architecture

The following functions are implemented in this version of AD5755 driver:

Function Description
unsigned char AD5755_Init(void) Initializes the device and powers-up all channels.
long AD5755_GetRegisterValue(unsigned char registerAddress) Reads the value of a register.
unsigned short AD5755_SetRegisterValue(unsigned char registerAddress, unsigned char channel, unsigned long registerValue) Writes data into a register.
void AD5755_Software_Reset(void) Performs a software reset to the device.
void AD5755_WatchDogSetup(unsigned char wtdEnable, unsigned char timeout) Enables/Disables watchdog timer and sets the timeout period.
void AD5755_FeedWatchDogTimer(void) Writes a “service pulse” to the AD5755 watchdog timer when enabled.
void AD5755_SetControlRegisters(unsigned char ctrlRegAddress, unsigned char channel,unsigned short regValue) Configures one of the control registers.
unsigned char AD5755_CheckCrc(unsigned char* data, unsigned char bytesNumber) Computes the CRC for a data buffer.
void AD5755_SetChannelPower(unsigned char channel, unsigned char pwrStatus) Allows power-up/down of the dc-to-dc converter, DAC and internal amplifiers for the selected channel.
void AD5755_SetChannelRange(unsigned char channel, unsigned char range) Sets the range of a channel.
void AD5755_ChannelClearEnable(unsigned char channel, unsigned char clearEn) Selects if the channel clears when CLEAR pin is activated.
void AD5755_SlewRateCtrl(char channel, char srEn, char updtFreq, char stepSize) Configures the Digital Slew Rate Control.
float AD5755_SetVoltage(unsigned char channel, float voltage) Sets the output voltage of a channel.
float AD5755_SetCurrent(unsigned char channel, float mACurrent) Sets the output current of a channel.

Downloads

Renesas RL78G13 Quick Start Guide

This section contains a description of the steps required to run the AD5755 demonstration project on a Renesas RL78G13 platform.

Required Hardware

Required Software

Hardware Setup

An EVAL-AD5755SDZ has to be interfaced with the Renesas Demonstration Kit (RDK) for RL78G13:

  EVAL-AD5755SDZ J11 Pin 1(DVDD)   → YRDKRL78G13 J11 connector Pin 6
  EVAL-AD5755SDZ J11 Pin 2(DGND)   → YRDKRL78G13 J11 connector Pin 5
  EVAL-AD5755SDZ J11 Pin 3(SYNC)   → YRDKRL78G13 J11 connector Pin 1
  EVAL-AD5755SDZ J11 Pin 4(SCLK)   → YRDKRL78G13 J11 connector Pin 4
  EVAL-AD5755SDZ J11 Pin 5(SDIN)   → YRDKRL78G13 J11 connector Pin 3
  EVAL-AD5755SDZ J11 Pin 6(SDO)    → YRDKRL78G13 J11 connector Pin 2
  EVAL-AD5755SDZ J11 Pin 7(LDAC)   → YRDKRL78G13 J11 connector Pin 9
  EVAL-AD5755SDZ J11 Pin 8(CLEAR)  → YRDKRL78G13 J11 connector Pin 7
  EVAL-AD5755SDZ J11 Pin 9(POC)    → YRDKRL78G13 J11 connector Pin 8
  EVAL-AD5755SDZ J11 Pin 10(RESET) → YRDKRL78G13 J11 connector Pin 10

Reference Project Overview

The reference project outputs a square signal on channel A, and DC voltage signals on channels B, C and D.

Software Project Tutorial

This section presents the steps for developing a software application that will run on the Renesas Demo Kit for RL78G13 for controlling and monitoring the operation of the ADI part.

  • Run the IAR Embedded Workbench for Renesas RL78 integrated development environment.
  • Choose to create a new project (Project – Create New Project).
  • Select the RL78 tool chain, the Empty project template and click OK.

  • Select a location and a name for the project (ADIEvalBoard for example) and click Save.

  • Open the project’s options window (Project – Options).
  • From the Target tab of the General Options category select the RL78 – R5F100LE device.

  • From the Setup tab of the Debugger category select the TK driver and click OK.

  • Extract the files from the lab .zip archive and copy them into the project’s folder.

  • The new source files have to be included into the project. Open the Add Files… window (Project – Add Files…), select all the copied files and click open.

  • At this moment, all the files are included into the project.
  • The project is ready to be compiled and downloaded on the board. Press the F7 key to compile it. Press CTRL + D to download and debug the project.
  • A window will appear asking to configure the emulator. Keep the default settings and press OK.

  • To run the project press F5.

03 Sep 2012 13:02 · Dragos Bogdan

More information

01 Jun 2012 12:21

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'AD5755-微控制器无操作系统驱动程序',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);